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