timezone - Ical.Net:事件的 AsUtc 标志未正确更新
问题描述
我在 Ical.Net 版本 = 4.0.1.0 及更低版本中面临这个问题,当我们在 DTSTART/DTEND 中获得“GMT-0500”时,它给出的 utc 时间与 AsUtc 中的本地时间相同。但是如果我在 ics 中手动将“GMT-0500”替换为“加拿大/东部”,它会在 AsUtc 中给出正确的 utc 时间。
以下工作不正常-:
DTSTART;TZID=GMT-0500:20181213T190000
DTEND;TZID=GMT-0500:20181213T220000
以下工作正常 - :
DTSTART;TZID=Canada/Eastern:20181213T190000
DTEND;TZID=Canada/Eastern:20181213T220000
解决方案
GMT-0500
不是有效的 IANA 时区。这是 IANA 时区列表。你想要Etc/GMT+5
。Canada/Eastern
已弃用。我建议你America/Toronto
改用。
一般来说,我建议您熟悉实际的时区名称,而不是猜测它们可能是什么,并希望得到最好的结果。
正如我在发行说明中所指出的AsUtc
,缓存值也存在一些错误。我建议升级到 4.latest。它应该是向后兼容的。
推荐阅读
- android - 使用 pjsip 的 Sip 应用程序在某些 android 设备上崩溃
- python - 如何使用 Scikit-Learn 和 Python 找到最佳集群数量
- android -
无法选择任何模拟器来运行代码 - node.js - 如何使用两个不同的节点版本运行两个不同的 nodejs 应用程序
- linux - Linux“猫”如何解码文件?
- c# - 使用 .NET 从公钥字节进行 RSA/ECB/PKCSPadding1 加密
- javascript - 无法使用 Highcharts 创建折线图 - Vue.js
- azure - Azure APIM 是否支持 405(不允许的方法)状态码?
- css - 遮罩图像css,使其仅显示圆圈的一部分
- javascript - javascript Uncaught (in promise) DOMException