Timezone.now()与datetime.datetime.now() [英] Timezone.now() vs datetime.datetime.now()
本文介绍了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.
这篇关于Timezone.now()与datetime.datetime.now()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文