我们希望在Django项目中了解印度的当前时间。在settings.py中,默认情况下是UTC。我们如何将其更改为IST?
答案 0 :(得分:101)
更改TIME_ZONE
中的字段settings.py
。
对于印度标准时间,您需要:
TIME_ZONE = 'Asia/Kolkata'
有关Django中TIME_ZONE的更多信息,您可以看到:https://docs.djangoproject.com/en/dev/ref/settings/#time-zone
答案 1 :(得分:8)
检查django_timezones!这也可以帮助别人 它包含所有其他时区以供参考
答案 2 :(得分:5)
TIME_ZONE = 'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = True
以上设置应该有效
答案 3 :(得分:2)
上面给出的所有解决方案都有效。
查看我用来获取时区的代码。我的时区是印度标准时区。
https://docs.djangoproject.com/en/3.0/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = True
答案 4 :(得分:0)
修改setting.py并将时区更改为 TIME_ZONE ='Asia / Kolkata'
答案 5 :(得分:0)
使用以下设置对我有用。 TIME_ZONE ='亚洲/加尔各答'
USE_I18N = True
USE_L10N = True
USE_TZ =假
答案 6 :(得分:0)
在settings.py文件中保留 TIME_ZONE ='Asia / Kolkata',然后从您访问时区(服务器或外壳)的位置重新启动服务。 就我而言,我重新启动了我正在使用的python shell,它对我来说很好用。
答案 7 :(得分:0)
将时区从“ UTC”简单更改为“亚洲/加尔各答”,请记住K和A在这里是Capital。
答案 8 :(得分:0)
添加到Jon答复中,如果timezone.now()
在更改TIME_ZONE='Asia/Kolkata'
之后仍然无法工作。
您可以使用timezone.now()
代替timezone.localtime()
。
希望它能解决..:)
答案 9 :(得分:0)
LANGUAGE_CODE ='en-us'
TIME_ZONE ='亚洲/ Calcutta'
USE_I18N = True
USE_L10N = True
USE_TZ = True
这应该有效。
答案 10 :(得分:0)
将您的settings.py
更改为:
TIME_ZONE = 'Asia/Calcutta'
USE_I18N = True
USE_L10N = True
USE_TZ = False
这应该有效。
有关Django中TIME_ZONE的更多信息,请参见:https://docs.djangoproject.com/en/dev/ref/settings/#time-zone
答案 11 :(得分:0)
通常,世界时(UTC)基于英国格林威治测量的平均恒星时间。它也大约等于格林威治的平均太阳时。如果在该时区中实行夏令时,则必须在上述标准时间上增加1小时。
Django获得了所有timezone支持, django.utils时区模块仅基于USE TZ
设置返回日期时间,它们只是具有时区意识的日期时间对象'。
对于UTC + 5:30的IST(印度标准时间),请设置TIME_ZONE = 'Asia/Kolkata'
和USE_TZ = True
以及USE_I18N = True, USE_L10N = True
,它们分别是Internationalization and localization。
作为参考,
from django.utils import timezone
import datetime
print(timezone.now()) # The UTC time
print(timezone.localtime()) # timezone specified time,if timezone is UTC, it is same as above
print(datetime.datetime.now()) # default localmachine time
# output
2020-12-11 09:13:32.430605+00:00
2020-12-11 14:43:32.430605+05:30 # IST is UTC+5:30
2020-12-11 14:43:32.510659
请参阅Django文档中的timezone settings了解更多详细信息。
答案 12 :(得分:0)
Django 存储时间戳,因此如果我们只更改 TIME_ZONE
变量,Django 将处理其余部分。
TIME_ZONE = 'Asia/Kolkata'