python:日志记录::获取自定义时区中的当前时间

时间:2021-03-05 19:58:03

标签: python logging

我正在尝试使用以下代码使用时区“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 不起作用

0 个答案:

没有答案