django - 如何从时区获取UTC偏移值?

标签 django python-2.7

在我的 Django 项目中,我有一个表单 (forms.py) 它实现了 pytz 来获取当前时区,如下所示:

tz = timezone.get_current_timezone()

我已将此值作为初始值传递给表单字段,如下所示:
timezone = forms.CharField(label='Time Zone', initial=tznow)

这为该字段提供了当前时区的默认值,在我的情况下,它恰好是 亚洲/加尔各答 .

现在我想找到给定时区的 UTC 偏移值,在本例中为 亚洲/加尔各答 +5:30

我也尝试了 tzinfo() 方法,但找不到预期的结果。有人可以指导我完成这个吗?

最佳答案

UTC 偏移量由 tzinfo 的任何实现(例如 pytz)的 utcoffset 方法作为 timedelta 给出。例如:

import pytz
import datetime

tz = pytz.timezone('Asia/Calcutta')
dt = datetime.datetime.utcnow()

offset_seconds = tz.utcoffset(dt).seconds

offset_hours = offset_seconds / 3600.0

print "{:+d}:{:02d}".format(int(offset_hours), int((offset_hours % 1) * 60))
# +5:30

关于django - 如何从时区获取UTC偏移值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29563277/

相关文章:

javascript - 无法从 JS AJAX 将数据发送回 Django

python - 将 Django 应用程序部署到 Heroku 时出现收集静态错误

python-2.7 - 当正确版本在 python 发行版中时,为什么 wsgi 在/lib64 中寻找库

python - 适合 Python 平均值的随机分布

python - 将变量设置为导入它的模块的名称

Django:无法将变量传递给包含的模板?

python - Django 的 models.DO_NOTHING 需要哪些参数?

python - 使用自定义调色板将 numpy 数组转换为 RGB 图像

python - 使用 smtplib 发送文件时标准输出格式发生变化 - python2.7

Python 2.7 : check if default argument passed with a decorator