如何在Django中使用localtime保存日期和时间?
所以我正在努力学习Python和Django。。。很棒的语言和框架 也就是说,请原谅我这个看似愚蠢的问题 我有一个Django项目,它不会在一个时区之外使用,因此在UTC中保存内容并在需要时转换为“本地”时区并没有多大意义 问题是,我似乎找不到一种“Python/Django”方法来正确地完成它,如下所示:如何在Django中使用localtime保存日期和时间?,django,python-2.7,Django,Python 2.7,所以我正在努力学习Python和Django。。。很棒的语言和框架 也就是说,请原谅我这个看似愚蠢的问题 我有一个Django项目,它不会在一个时区之外使用,因此在UTC中保存内容并在需要时转换为“本地”时区并没有多大意义 问题是,我似乎找不到一种“Python/Django”方法来正确地完成它,如下所示: > python manage.py shell Python 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatibl
> python manage.py shell
Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.utils import timezone
>>> timezone.localtime(timezone.now())
datetime.datetime(2015, 10, 19, 10, 17, 58, 153065, tzinfo=<DstTzInfo 'America/Sao_Paulo' BRST-1 day, 22:00:00 DST>)
>>> from thingie.models import Thingie
>>> a=Thingie(field1="teste",field2="12121",field3="112121",field4="904095034",timestamp=timezone.localtime(timezone.now()))
>>> a.save()
python manage.py shell
Python 2.7.10(默认值,2015年7月14日,19:46:27)
[GCC 4.2.1达尔文兼容苹果LLVM 6.0(clang-600.0.39)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
(InteractiveConsole)
>>>从django.utils导入时区
>>>timezone.localtime(timezone.now())
datetime.datetime(2015,10,19,10,17,58153065,tzinfo=)
>>>从thingie.models导入thingie
>>>a=Thingie(field1=“teste”,field2=“12121”,field3=“112121”,field4=“904095034”,timestamp=timezone.localtime(timezone.now())
>>>a.保存()
目前,这在我的MySQL数据库中创建了一条记录,但时间戳字段被记录为UTC时间
我做错了什么?如何在localtime中保存时间戳
提前谢谢
编辑
根据我对Daniel回复的评论,使用datetime会在Django中生成警告,这导致我禁用USE_TZ(USE_TZ=False
)。这似乎起到了作用,但我想知道是否存在任何不必要的行为,因为文档建议使用时区支持
再次感谢 如果你不在乎时区,那就什么都不要做;留着吧
a = Thingie(field1="teste", field2="12121", field3="112121", field4="904095034", timestamp=datetime.datetime.now()))
注意,对于时间戳,在字段定义中使用
auto\u now
和auto\u now\u add
选项更简单,这将自动设置时间。>>import datetime>>>datetime.datetime.now()datetime.datetime(2015,10,19,10,31,35,808237)>>a=Nfe(xml=“teste”,chave\u de\u acesso=“12121”,numero\u nota=“112121”,nsu=“904095034”,timestamp=datetime.datetime.now())>>a.save()/Users/paullindoso/Envs/transporte_teste/lib/python2.7/site packages/django/db/models/fields/_uinit_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuy.py:1474:RuntimeWarning:DateTimeField.Nfe.timestamp在时区支持处于活动状态时收到一。运行时警告)