2016-05-02 44 views
0

我需要找到PDT時間的UTC等效時間。PDT到UTC轉換日期時間對象格式

所以,我已經實現其代碼,如下所示:

2016-04-02 07:00:00+00:00 

類型如下::

 utc = pytz.utc 
     local = pytz.timezone ("America/Los_Angeles") 
     begin_localize = local.localize(begin) 
     begin = begin_localize.astimezone(utc) 

     end_localize = local.localize(end) 
     end = end_localize.astimezone(utc) 

據如下生成輸出

<type 'datetime.datetime'> 

即使它工作正常,我的後端需要一個格式如下的值:

2016-04-02 00:00:00 

也應該是type'datetime.datetime'。

有人幫助我達到相同的方式。

回答

0

請勿混淆諸如datetime.datetime之類的對象及其可打印表示,如'2016-04-02 00:00:00'字符串。您可以使用.strftime() method獲得您喜歡的任何格式。

我的後端需要其的格式如下的值:
2016年4月2日00:00:00
還應型類型「datetime.datetime」的。

該評論建議您想要一個naive datetime對象。要刪除時區信息,你可以使用.replace()方法:

naive_dt = begin_localize.replace(tzinfo=None) 

你可以讓天真的對象,表示直接UTC時間:

# <local time> == <utc time> + <utc offset> by definition 
# <utc time> = <local time> - <utc offset> 
naive_utc_dt = naive_local - local_timezone.utcoffset(naive_local) 

注意:naive_local表示可能是不明確的或時間甚至在當地時區不存在(例如,在DST轉換期間)。必要時通過is_dst參數來消除歧義。