如何使用Python中的strftime格式化GMT时间

时间:2014-08-21 02:42:12

标签: python

我想为当前的GMTime增加2个小时。

gmt_time = time.gmtime()

gmt_time_to_dt = datetime.datetime.fromtimestamp(mktime(gmt_time))
print(gmt_time_to_dt)

gmt_plus = gmt_time_to_dt + datetime.timedelta(minutes = 120)
print(gmt_plus)

这段代码的作用,但我需要这种格式:

'%Y-%m-%dT%H:%M:%SZ'

怎么做?

2 个答案:

答案 0 :(得分:1)

你的意思是:

import datetime
datetime.datetime.strftime(gmt_plus, '%Y-%m-%dT%H:%M:%SZ')

或:

gmt_plus.strftime('%Y-%m-%dT%H:%M:%SZ')

答案 1 :(得分:0)

首先进口:

import datetime
import time
from time import mktime
import pytz

试试这个:

gmt_time = time.gmtime()

gmt_time_to_dt = datetime.datetime.fromtimestamp(mktime(gmt_time))
print(gmt_time_to_dt)

gmt_plus = gmt_time_to_dt + datetime.timedelta(minutes = 120)
print(gmt_plus.isoformat())

打印:

2014-08-21T05:57:06

虽然我认为你的意思是:

gmt_time = time.gmtime()

gmt_time_to_dt = datetime.datetime.fromtimestamp(mktime(gmt_time), 
                                                 tz=pytz.timezone('GMT'))

gmt_plus = gmt_time_to_dt + datetime.timedelta(minutes = 120)
print(gmt_plus.isoformat())

打印:

2014-08-21T10:09:56+00:00

如果你真的想要指定格式,我认为你有一个错字:

gmt_plus.strftime('%Y-%m-%dT%H:%M:%S%Z')

打印:

'2014-08-21T10:09:56GMT'