Python datetime.now() 没有给出正确的系统时间

Python datetime.now() not giving correct system time

提问人:Hrm 提问时间:10/17/2023 更新时间:10/17/2023 访问量:60

问:

将我的一个 python fastapi 应用程序迁移到运行 Alpine 3.17 和 python 3.10.11 的基于 Alpine 的映像

在正常情况下,python 的 datetime.datetime.now() 应该返回本地系统时间,但在我的情况下,即使系统在 IST 中运行,它也会返回 UTC 时间

在容器中运行的示例案例

在随附的屏幕截图中,我正在运行以下代码片段

import datetime
print(datetime.datetime.now())

如屏幕截图所示,终端中的“date”命令返回 IST 时间戳,但 datetime.datetime.now() 返回 UTC 时间戳。

知道是什么原因造成的吗?这似乎是这个特定图像中的一个问题,因为在我的本地环境中的 python3.10 上复制相同的图像会给出正确的结果。

python-3.x 日期时间 时间戳

评论

0赞 deceze 10/17/2023
在此处将屏幕截图中的文本作为文本发布;没有必要把它做成图像。
0赞 EdvardM 10/17/2023
我猜容器设置为使用 UTC 时间,这是一个很好的默认值。我会检查 stackoverflow.com/questions/68996420/...或类似的东西,以便在您的图像中设置适当的时区。或者更好的是,指定要使用的 tz
0赞 FObersteiner 10/17/2023
在代码中使用感知日期时间可能是一个不错的选择,这样可以显式控制使用的时区。对于 Python,请参阅 stackoverflow.com/a/63628816/10197418 示例。

答: 暂无答案