python datetime时区转换

比如把格林威治时间转换为上海时间:

from datetime import datetime
import pytz

print('格林威治时间: ', datetime.now().strftime("%Y-%m-%d_%H-%M-%S"))
print('上海时间: ', datetime.now().astimezone(pytz.timezone("Asia/Shanghai")).strftime("%Y-%m-%d_%H-%M-%S"))

输出:

这两个时区相差八小时。

 

如果要修改logging的时区和时间,可参考:如何修改 logging 时间为北京时间,下面的代码来自这个知乎文章。

import logging
import datetime


def beijing(sec, what):
    beijing_time = datetime.datetime.now() + datetime.timedelta(hours=8)
    return beijing_time.timetuple()


logging.Formatter.converter = beijing

logging.basicConfig(
    format="%(asctime)s %(levelname)s: %(message)s",
    level=logging.INFO,
    datefmt="%Y-%m-%d %H:%M:%S",
)

  

 

posted @ 2023-05-21 20:34  Picassooo  阅读(329)  评论(0编辑  收藏  举报