Timezone.now()与datetime.datetime.now() [英] Timezone.now() vs datetime.datetime.now()

查看:458
本文介绍了Timezone.now()与datetime.datetime.now()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

何时应使用Django的 timezone.now(),何时应使用python的 datetime.datetime.now()

When should I be using django's timezone.now() and when should I be using python's datetime.datetime.now().

例如,在下面的 INSERT 中,这更有意义吗?

For example, in the following INSERT which would make more sense?

- Product.objects.create(title='Soap', date_added=datetime.datetime.now())
- Product.objects.create(title='Soap', date_added=timezone.now())

是否有一个何时使用每个的经验法则?

Is there a rule of thumb on when to use each?

推荐答案

只需始终使用 timezone.now()。 Django现在具有时区支持,它需要时区知道日期时间对象。 datetime.now()将返回时区原始对象,而 timezone.now()将返回时区感知对象。

Just always use timezone.now(). Django now has timezone support which requires timezone 'aware' datetime objects. datetime.now() will return a timezone naive object, whereas timezone.now() will return a timezone aware object.

阅读有关Django时区的更多信息

这篇关于Timezone.now()与datetime.datetime.now()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆