Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django中使用localtime保存日期和时间?_Django_Python 2.7 - Fatal编程技术网

如何在Django中使用localtime保存日期和时间?

如何在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和Django。。。很棒的语言和框架

也就是说,请原谅我这个看似愚蠢的问题

我有一个Django项目,它不会在一个时区之外使用,因此在UTC中保存内容并在需要时转换为“本地”时区并没有多大意义

问题是,我似乎找不到一种“Python/Django”方法来正确地完成它,如下所示:

> 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在时区支持处于活动状态时收到一。运行时警告)