我需要以YYYYMMDDHHmmSSOHH'mm'的形式生成本地时间戳。 OHH'mm'是+, - ,Z之一,然后有小时和分钟,然后是'。
请问,如何获得这样的时间戳,表示本地时区和可能的夏令时?
答案 0 :(得分:31)
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)))
答案 1 :(得分:8)
time.strftime会为此做,
在linux中,如果正确设置了环境变量,%z
将只给你-HHMM格式。
>>> os.environ['TZ'] = 'EST'
>>> time.strftime('%x %X %z')
'03/21/10 08:16:33 -0500'