nodatime - 尝试将 Microsoft Windows BCL 区域映射到 Tzdb 区域以访问其缩写值
问题描述
我正在寻找一种将 BCL 时区值映射到 Tzdb 时区值的方法,以获得 Tzdb 公开的更具表现力的值:
例如,我可以按如下方式获取 BCL 时区。该incomingValue
变量是该区域的 Microsoft Windows 名称,例如Pacific Standard Time
来自https://support.microsoft.com/en-ca/help/973627/microsoft-time-zone-index-values:
var bclZone = DateTimeZoneProviders.Bcl.GetZoneOrNull(incomingValue); // ok - it works
接下来,获得等效 Tzdb 区域值(或区域)的最佳方法是什么?我一直在摆弄以下代码无济于事。
// The Tzdb provider won't accept a BCL zone value or a Microsoft zone name.
DateTimeZoneProviders.Tzdb.GetZoneOrNull(.. ? ..);
我要求进行这种转换的原因是因为 Tzdb 区域更具表现力,包含可在紧凑显示场景中使用的缩写,而我找不到与 Microsoft BCL 区域类型相关的缩写或其他丰富值。我宁愿使用 Tzdb 值而不是手动映射,因为我认为在这两个区域提供程序之间,它们包含我需要的一切“开箱即用”。
我也在考虑使用 UTC -/+ 计算来转换到 Tzdb 值,但我在这里询问是否有更好的 noda 方法。
解决方案
推荐阅读
- rust - 为什么在可变函数的参数中不允许借用
- javascript - php表单提交时,提交按钮禁用
- php - 使用 php 和 Mysql 显示 0 的 NULL 值?
- filter - 如何从odoo 11中的many2many字段中获取过滤值列表?
- node.js - 在Node express中使用EJS从数组结果中删除尾随逗号?
- javascript - 为什么 FlatList 在 React Native 中没有动态更新
- powershell - Powershell根据前缀为文件名添加后缀
- java - Spring CGLib 代理 - 类变量变为空
- wordpress - 自定义 API 端点从类别中获取数据
- javascript - 在 webpack / babel-loader 中导入 js 文件在 ios9 (ipad) 中不起作用