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

1 投票
2 回答
17647 浏览
提问于 2025-04-18 18:00

我想在当前的格林威治标准时间(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 个回答

2

首先导入需要的内容:

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'
3

你的意思是:

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

还是:

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

撰写回答