Python: 日期时间格式化

21 投票
2 回答
62460 浏览
提问于 2025-04-15 20:39

我需要生成一个本地时间戳,格式是YYYYMMDDHHmmSSOHH'mm'。这里的OHH'mm'可以是加号(+)、减号(-)或者Z,后面跟着小时和分钟,再加上一个撇号(')。

请问,我该怎么得到这样的时间戳,既能表示本地时区,又能考虑夏令时的情况呢?

2 个回答

8

time.strftime 可以用来处理这个问题。

在Linux系统中,如果环境变量设置正确,%z 会以 -HHMM 的格式显示时间。

>>> os.environ['TZ'] = 'EST'
>>> time.strftime('%x %X %z')
'03/21/10 08:16:33 -0500'
32
import time

localtime   = time.localtime()
timeString  = time.strftime("%Y%m%d%H%M%S", localtime)

# is DST in effect?
timezone    = -(time.altzone if localtime.tm_isdst else time.timezone)
timeString += "Z" if timezone == 0 else "+" if timezone > 0 else "-"
timeString += time.strftime("%H'%M'", time.gmtime(abs(timezone)))

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答