在使用tiangolo/uvicorn-gunicorn-fastapi镜像搭建的服务端后台程序,修改了docker容器中的 /etc/timezone配置值,gunicorn的日志时间已经正常地显示成了北京时间,但在python程序中使用import time程序输出的数据中仍然是UTC时间。本文地址:http://www.04007.cn/article/1027.html,未经许可,不得转载.
# cat /etc/timezone Asia/Shanghai #容器中时区 docker container app# date Thu Jun 12 01:34:30 UTC 2021 # python中程序输出时间问题 print(time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime()))本文地址:http://www.04007.cn/article/1027.html,未经许可,不得转载.
解决办法:python程序取时间使用的是time.localtime(),可能这个时间是从/etc/localtime中提取的时间。因此在修改容器时区的时候需要修改两个地方,一个是/etc/timezone,另外一个就是/etc/localtime。不过在修改/etc/localtime的时候不能直接编辑,将Asia/Shanghai的时区复制过去即可。本文地址:http://www.04007.cn/article/1027.html,未经许可,不得转载.
#复制时区 docker container app# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime本文地址:http://www.04007.cn/article/1027.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1027.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |