0

我有一个日期(日期时间),它作为 GMT 时间存储在数据库中。我需要将其转换为当地时间。如何使用 python 实现这一点

请有你的建议

提前致谢!!

4

1 回答 1

2

您是否阅读过 Python 文档8.1 datetime— 基本日期和时间类型 ,尤其是8.3tzinfo对象

他们描述了库函数datetime.astimezone(tz=None),这可能正是您想要的。

返回具有新 tzinfo 属性 tz 的 datetime 对象,调整日期和时间数据,使结果与 self 相同的 UTC 时间,但在 tz 的本地时间。

他们有示例代码,用于根据与 UTC 的偏移量定义时区,以如下声明结尾:

Pacific  = USTimeZone(-8, "Pacific",  "PST", "PDT")

读完之后,你的问题是什么?

你有一个date或一个datetime?即数据是否有时区成分?如果没有时间组件,那么将日期更改为不同的时区是什么意思?

你有“天真”还是“有意识” datetime?从文档中,

感知对象对适用的算法和政治时间调整(例如时区和夏令时信息)有足够的了解,以相对于其他感知对象定位自身。有意识的对象用于表示不可解释的特定时刻......

一个天真的对象不包含足够的信息来明确地定位自己相对于其他日期/时间对象。一个简单的对象是表示协调世界时 (UTC)、当地时间还是某个其他时区的时间完全取决于程序,就像特定数字是否表示米、英里或质量一样取决于程序。朴素的对象很容易理解和使用,但代价是忽略了现实的某些方面。

Python 文档非常好。也许它会回答您的问题,而无需您询问 StackOverflow。

于 2012-11-23T06:36:00.167 回答