如何在Django中添加印度标准时间(IST)?

时间:2014-02-18 13:29:51

标签: python django

我们希望在Django项目中了解印度的当前时间。在settings.py中,默认情况下是UTC。我们如何将其更改为IST?

13 个答案:

答案 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'