我正在尝试使用以下代码使用时区“America/New_York”进行登录
时间显示正确,但 %z 和 %Z 没有显示正确的时区
from datetime import datetime
from pytz import timezone
import logging
def timetz(*args):
tz = timezone('America/New_York')
print(tz)
dt = datetime.now(tz)
print(dt)
return dt.timetuple()
logger = logging.getLogger()
formatter = logging.Formatter(fmt='%(asctime)s::%(levelname)-8s\n%(message)s',datefmt='%Y-%m-%d %H:%M:%S %p %Z %z')
formatter.converter = timetz
formatter.default_msec_format = '%s.%03d'
handler= logging.StreamHandler()
handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
logger.addHandler(handler)
logger.error('test')
我明白
2021-03-05 14:53:04 PM UTC +0000::ERROR
test
但我应该得到
2021-03-05 14:53:04 PM EST -0500::ERROR
test
%z 和 %Z 不起作用