django的timezone.now没有显示正确的时间 [英] django's timezone.now does not show the right time

查看:415
本文介绍了django的timezone.now没有显示正确的时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的服务器位于伦敦。



在我的 settings.py 中我有:

  TIME_ZONE ='欧洲/莫斯科'
USE_TZ = True

但是当我这样做:

  from django.utils import timezone 

打印timezone.now()。小时

打印伦敦的时间。我做错了什么?



更新:

 >> timezone.now()
datetime.datetime(2013,4,16,12,28,52,797923,tzinfo =< UTC)

tzinfo =< UTC> ,所以也许打印不是伦敦时间,但UTC的+0时间?无论如何,如何使django显示莫斯科时间?



此外,当我使用现在渲染模板= timezone.now()



{{now.hour}} 打印,例如12(伦敦时间) p>

{{now | date:G}} 打印16(莫斯科时间)

解决方案

请参阅用法部分

 >>>来自django.utils import timezone 
>>>> timezone.localtime(timezone.now())


My server is in London.

In my settings.py I have:

TIME_ZONE = 'Europe/Moscow'
USE_TZ = True

But when I do this:

from django.utils import timezone

print timezone.now().hour

It prints London's time. What do I do wrong?

UPDATE:

>> timezone.now()
datetime.datetime(2013, 4, 16, 12, 28, 52, 797923, tzinfo=<UTC>)

tzinfo = <UTC>, so maybe it prints not London time, but UTC's +0 time? Anyway, how to make django show Moscow time?

Also, when I render template with now = timezone.now().

{{ now.hour }} prints, for example, 12 (London time)

{{ now|date:"G" }} prints 16 (Moscow time)

解决方案

See question #2 in the "Usage" section of the Django docs.

>>> from django.utils import timezone
>>> timezone.localtime(timezone.now())

这篇关于django的timezone.now没有显示正确的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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