gpt4 book ai didi

python - 从日期字段到日期时间字段的数据迁移

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:13 25 4
gpt4 key购买 nike

我只是想知道我哪里/哪里做错了。这就是场景。

我有一个字段 date = DateField() 然后我想将它更改为 date = DateTimeField() 而不会丢失其中存储的数据。

我做了什么:

  • 添加临时字段 temp = DatetimeField() 然后通过数据迁移将值从 date = DateField() 转移到 temp
  • 删除date = DateField()
  • 添加date = DateTimeField()
  • 将存储的值从 temp 转移到 date

一切顺利,没有错误。但是有一件事改变了,

例如:

旧数据:datetime.date(2014, 5, 5)

新数据:datetime.datetime(2014, 5, 4, 12, 0, tzinfo=UTC)

所以我的问题是,为什么它会发生变化并从原始值中减去 1 天?有什么想法吗?是因为时区吗?时区设置为 Pacific/Auckland

任何帮助将不胜感激。谢谢!

最佳答案

太平洋/奥克兰的 GMT 偏移量是 UTC+12(小时)。

datetime.datetime(2014, 5, 4, 12, 0, tzinfo=UTC) 代表 UTC 4 日中午。但由于偏移,这是奥克兰的午夜。但是,奥克兰的午夜实际上是5 日的“0 点”。

所以,是的,这个问题确实与时区有关,但实际上这不是问题。日期没有改变,只是用不同的时区表示。


自然地,您可以回滚迁移,并且您在将 date 转换为 datetime 的步骤 1 中以不同方式考虑时区。

关于python - 从日期字段到日期时间字段的数据迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com