如何自动获取本地时区的时区偏移量? [复制]

2023-12-26

我正在尝试自动获取本地时区偏移量,但遇到了麻烦。我试过了:

print time.timezone/3600

这会得到(当前错误的)偏移量,因为它不会自动调整夏令时和非夏令时。

我也尝试过:

now_utc = pytz.utc.localize(datetime.datetime.now())
now_mst = now_utc.astimezone(pytz.timezone('US/Mountain'))

这会获得正确的偏移值,但我想自动设置“美国/山”部分,这样我就不必手动输入任何内容来获取偏移量。

有没有办法获得根据 DST 和非 DST 自动调整的正确偏移量?

我将在不同地理位置的多个服务器上运行此脚本,如果可以的话,我希望自动获取 tz 偏移量。


您可以使用dateutil http://labix.org/python-dateutil/用于此的模块。要立即获取当地时区:

>>> import dateutil.tz
>>> import datetime
>>> localtz = dateutil.tz.tzlocal()
>>> localtz.tzname(datetime.datetime.now(localtz))
'EDT'

我目前处于东部夏令时间。夏令时切换回来后,您可以看到它将来会变回 EST:

>>> localtz.tzname(datetime.datetime.now(localtz) +
                   datetime.timedelta(weeks=20))
'EST'

如果您想要相对于 UTC 的偏移量,可以使用 utcoffset 函数。它返回一个时间增量:

>>> localtz.utcoffset(datetime.datetime.now(localtz))
datetime.timedelta(-1, 72000)

在本例中,由于我是 UTC-4,因此它返回 -1 天 + 20 小时。如果您需要的话,您可以将其转换为小时:

>>> localoffset = localtz.utcoffset(datetime.datetime.now(localtz))
>>> localoffset.total_seconds() / 3600
-4.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何自动获取本地时区的时区偏移量? [复制] 的相关文章

随机推荐

  • 使用 Jackson 时,System.out.println(new ObjectMapper().readTree(jsonStringObject));打印 JSON,键和值之间有随机空格

    非常奇怪的行为 当我刚刚打印System out println jsonStringObject 它正确且良好地打印 JSON 但是当我使用 Jackson 的 API 时 即new ObjectMapper readTree jsonS
  • Spring MVC中的UTF-8编码问题

    我有一个 Spring MVC bean 我想通过设置编码 UTF 8 返回土耳其字符 但虽然我的字符串是 但它返回为 而且当我查看响应页面 即 Internet Explorer 页面 时 编码是西欧 ISO 而不是 UTF 8 这是代码
  • IBM Worklight v6.0 - 将应用程序添加到移动测试工作台时出错

    我有一个 Worklight 应用程序 并从中创建了一个 apk 文件 创建了一个测试项目 将 apk 文件添加到工作台时 出现错误 应用程序xxx apk无法导入 它要么是无效的 要么是 它包含不支持的特定功能 尝试打开工作灯工作区的 l
  • pm2 守护进程在几个小时后终止

    我有一个 Node js Express 应用程序 它实现了一组 REST API 并且我正在尝试使用 pm2 来管理其部署 该应用程序启动正常 使用pm2 start ecosystem config js 并保持可用几个小时 但 pm2
  • Bootstrap ScrollSpy 上的简单缓动

    我认为对于那些了解 javascript jquery 的人来说这是一个非常简单的问题 我对这一切都很陌生 无法做到 我发现计算导航栏偏移的代码如下所示 var offset 50 navbar li a click function ev
  • 如何强制列表对象输入“double”

    代码 a lt structure list X Days c 10 38 66 101 129 185 283 374 Names X Days Then a is like X Days 1 10 38 66 101 129 185 2
  • 使用 https 时基于主机的 nginx 代理

    我需要使用 Nginx 作为 SSL 代理 它根据子域将流量转发到不同的后端 我似乎到处都应该定义多个 server 部分 但这对于 SSL 来说不能正常工作 这样做时 我始终会在第一个虚拟主机中处理 SSL 因为在处理 https 流量之
  • 无法在 macOS Monterey 12.3 上安装 psycopg2-binary

    我一直在尝试为我的 django 项目安装 psycopg2 binary 但到目前为止没有任何效果 它不断要求pg config文件 据我所知 只有在构建 psycopg2 时才需要该文件 那么 这里发生了什么 Collecting ps
  • VS 2013 ASP.NET调试时无法修改代码

    我正在处理一个 ASP NET 2 0 项目 该项目已从 vs 2005 gt 2010 gt 2013 升级 在 vs 2005 和 2010 中 我可以在调试时修改代码 保存更改并重新加载应用了更改的页面 现在与 2013 年相比 我无
  • 在 C 中区分 typedef 的类型/标记名称有哪些优点?

    一些代码库使用不同的标识符tag和type eg typedef struct foo int bar foo 代替 typedef struct foo int bar foo 这里详细解释了这些差异 C 中 struct 和 typed
  • 在 R 中的 for 循环中创建列

    我在 R 中有一个数据框 我想在 for 循环中创建新列 在过去的两天里我尝试了很多事情但没有成功 最后 我确实找到了一个似乎可行的解决方案 但看起来并不那么直接 我想知道是否有人有更优雅的方法来做到这一点 抱歉 如果这个问题已经得到解决
  • 使用 D3.js 为每个数据成员附加多个非嵌套元素

    我想使用 d3 创建多个非嵌套元素来创建如下结构 div p from data 0 p p from data 0 p p from data 1 p p from data 1 p p from data 2 p p from data
  • TSQL - 如何判断 SQL 是否是集群的?

    有没有办法使用 TSQL CMD 脚本或 VB 脚本来告诉 1 如果 SQL Server 集群在服务器上 并且 2 是否是主动节点 Thanks 这两个都可以使用找到 SELECT FROM fn virtualservernodes 如
  • Tensorflow编译运行很长时间

    所以我正在尝试编译TensorFlow来自源头 使用 2019 年 1 月 31 日的 git 存储库中的克隆 我从他们的 shell 脚本安装了 Bazel https github com bazelbuild bazel releas
  • 根据第一列中的数字分割矩阵

    我有一个具有以下形式的矩阵 M 1 4 56 1 1 3 5 1 1 3 6 4 2 3 5 0 2 0 0 0 3 1 2 3 3 3 3 3 我想根据第一列中给出的数字分割这个矩阵 所以我想将矩阵拆分为 A 1 4 56 1 1 3 5
  • 如何取消 git bare 存储库中的最后一次提交?

    考虑到有几个 git 命令在裸存储库中没有任何意义 因为裸存储库不使用索引并且没有工作目录 git reset hard HEAD 不是取消提交此类存储库中最后更改的解决方案 通过互联网搜索 我能找到与该主题相关的所有内容this http
  • 通过 ADB 创建 AVD 配置文件

    有什么方法可以获取或查看所有设备的 Android 调试桥 Shell 中的属性 正如我所见 adb shell 仅显示和检索已连接的设备的当前会话的当前进程 我只是想知道有一个 adb shell 脚本命令可以查看该设备的所有技术产品信息
  • MSSQL Server Management Studio (SSMS) 2005 新查询模板

    如何更改 SSMS 2005 中的默认 新查询 模板 发布这个问题作为参考 我做了一些谷歌搜索 发现了一个简单的方法 http weblogs asp net cabhilash archive 2008 11 23 sql server
  • 双向绑定无法解析 setter

    我正在尝试了解数据绑定我有我的信用卡 ViewModel 类 它在我的片段中绑定 如下所示 public class CreditCardValidatorFragment extends Fragment private CreditCa
  • 如何自动获取本地时区的时区偏移量? [复制]

    这个问题在这里已经有答案了 我正在尝试自动获取本地时区偏移量 但遇到了麻烦 我试过了 print time timezone 3600 这会得到 当前错误的 偏移量 因为它不会自动调整夏令时和非夏令时 我也尝试过 now utc pytz