javascript - 从时区缩写中获取 UTC 偏移量
问题描述
无论如何从时区缩写中获得UTC偏移量?如:
“太平洋标准时间”
为了
太平洋标准时间(北美)
这将导致UTC-08。我在时刻时区找到了一种方法,但没有太大帮助。它提供了时区标识符列表,但其中大多数已被弃用。谢谢你。
解决方案
这是一个相当棘手的话题,类似的问题已经讨论过了。
请参阅使用 JavaScript 检测时区缩写或 使用偏移值获取时区缩写
我会提出两个选择:
1.哈希表。根据标准信息(例如时区缩写及其偏移量列表)创建您需要的键值对。就像是
let offsetByAbbrev = {"PST" : "UTC-08", "EST" : "UTC+01", ... }
但这需要认真维护,因为它会很快被弃用。
2.日期操作。您可以使用 momentjs 在特定时区创建日期,但是不能使用缩写。这有一个很好的理由:这些缩写可以改变,也可以导致歧义。您可以查看 momentjs-timezone 使用的 JSON:https ://github.com/moment/moment-timezone/blob/develop/data/packed/latest.json这将使您大致了解它的混乱程度. 例如,对 PST 执行简单的 ctrl+f 搜索并查看结果。
所以我建议使用时区名称——你可以使用 momentjs-timezone 来创建和使用。请参阅如何使用 moment.js 在特定时区创建时间,您可以在其中根据时区名称创建一个时刻对象,该对象将包含(根据时刻时区的规范:https ://momentjs.com/timezone/ docs/#/zone-object/ ) 偏移量本身。
我知道这并不能完全解决您的问题,尽管您尝试做的不一定是达到理想解决方案的最佳方法。
推荐阅读
- memory - 如何确定一个进程的地址空间大小?
- java - Spring - 事务应该在一种方法中提交,但应该在执行数据库事务的其他方法中回滚
- database - 如何优化for循环
- jmeter - 对于 Jmeter Bearer 授权令牌请求,获取 org.apache.http.conn.HttpHostConnectException
- python - 如何在 Tensorflow 中实现早期停止并降低高原学习率?
- node.js - NodeJS - TypeError:回调不是函数
- excel - 在 VBA 中删除多个 Excel 工作表
- sql - SQL获取一列中具有相同id但不同值的所有行
- stellar.js - 如何务实地将流明发送到未初始化的恒星地址
- c# - 无法使用 c sharp 创建基于事件的任务计划程序