簡體   English   中英

Python-如何將Datetimefield從模型轉換為UTC時區

[英]Python- how to convert Datetimefield from model into UTC time zone

對於python,如何將UTC區域中的DatetimeField(具有本地服務器時間)轉換為datetimefield?

我能想到的最好的方法是將其轉換為時間戳,然后使用datetime.utcfromtimestamp類方法

import time
import datetime

def to_utc(dateTime)
    timeStamp = time.mktime(dateTime.timetuple()) + dateTime.microsecond
    return datetime.datetime.utcfromtimestamp(timeStamp)
>>> import datetime
>>> import pytz
>>> datetime.datetime.now(pytz.timezone('Europe/Minsk'))
datetime.datetime(2011, 8, 8, 15, 32, 7, 816893, tzinfo=<DstTzInfo 'Europe/Minsk' EEST+3:00:00 DST>)
>>> x = datetime.datetime.now()
>>> x
datetime.datetime(2011, 8, 8, 15, 32, 26, 960839)
>>> x.replace(tzinfo=pytz.timezone('Europe/Minsk'))
datetime.datetime(2011, 8, 8, 15, 32, 26, 960839, tzinfo=<DstTzInfo 'Europe/Minsk' MMT+1:50:00 STD>)
>>> x.replace(tzinfo=pytz.timezone('Europe/Minsk')).isoformat()
'2011-08-08T15:32:26.960839+01:50'
>>> datetime.datetime.now(pytz.timezone('Europe/Minsk')).isoformat()
'2011-08-08T15:33:16.720865+03:00'

比較plz :)替換不是一個好主意。 最好是先轉換為時間戳,然后再轉換為日期時間。

最好的主意:

pytz.timezone( '歐洲/明斯克')。本地化(datetime.datetime.now())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM