python UTC 與 本地時間互轉

最近在操作 MongoDB 時候出現了時區轉換的問題,導致 Python 的時間對象存到 MongoDB 轉成了 UTC 時間的格式,但是使用 Golang 查詢時候與本地時間相差了 8 小時,所以這裏寫出了 Python 的本地時間與 UTC 時間的轉換,Golang 的 MongoDB 驅動會自動做這種轉換工作,請見我另一篇文章:http://blog.csdn.net/u010649766/article/details/79385948

from datetime import datetime

def utc2local( utc_dtm ):
    # UTC 時間轉本地時間( +8:00 )
    local_tm = datetime.fromtimestamp( 0 )
    utc_tm = datetime.utcfromtimestamp( 0 )
    offset = local_tm - utc_tm
    return utc_dtm + offset

def local2utc( local_dtm ):
    # 本地時間轉 UTC 時間( -8:00 )
    return datetime.utcfromtimestamp( local_dtm.timestamp() )

if __name__ == "__main__":

    # utc_tm = datetime.utcnow()
    utc_tm = datetime( 2012, 10, 26, 10, 00, 00 )

    print( "src utc time:\t", utc_tm.strftime("%Y-%m-%d %H:%M:%S") ) 

    # UTC 轉本地
    local_tm = utc2local(utc_tm)
    print( "tran loc time:\t", local_tm.strftime("%Y-%m-%d %H:%M:%S") ) 

    # 本地轉 UTC
    utc_tran = local2utc(local_tm)
    print( "tran utc time:\t", utc_tran.strftime("%Y-%m-%d %H:%M:%S") ) 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章