Dart 如何解析时区ID';什么是飞镖?

Dart 如何解析时区ID';什么是飞镖?,dart,Dart,如何将时区ID(如美国/纽约解析为UTC-5或欧洲/赫尔辛基解析为UTC+2 如果将DST考虑在内,效果会更好(因此在前面的两个示例中,两个示例现在都有DST) 我正在尝试将其解析为日期时间对象: America/New_York:20130208T080000 字符串的最后一部分很简单,可以使用自定义日期格式或简单的DateTime.parse()解析,但是我没有找到解析时区ID的方法 另外,我需要在服务器端执行此操作。我正在下载并解析iCal提要。您可以使用unix命令: 导入'dart:

如何将时区ID(如
美国/纽约
解析为
UTC-5
欧洲/赫尔辛基
解析为
UTC+2

如果将DST考虑在内,效果会更好(因此在前面的两个示例中,两个示例现在都有DST)

我正在尝试将其解析为日期时间对象:

America/New_York:20130208T080000
字符串的最后一部分很简单,可以使用自定义日期格式或简单的
DateTime.parse()
解析,但是我没有找到解析时区ID的方法

另外,我需要在服务器端执行此操作。我正在下载并解析iCal提要。

您可以使用unix命令:

导入'dart:io';
main(){
Process.run('date',['+%z'],环境:{“TZ”::欧洲/赫尔辛基“})
.然后((e){
打印(e.stdout);//显示+0300
});
}
参考以下内容:,看起来(根据一些有限的研究),您可以从这里下载时区B: 以CSV或SQL格式


我认为下一步可能是对Dart库进行编码,以硬编码从CSV/SQL数据到UTC的名称转换(或根据需要动态加载数据)。

SDK中没有任何内置信息,因此,您需要将其导入到您自己的程序中,或者使用能够解析它的外部工具,如前面的示例所示。

Ha。不会在Windows上工作,但我想现在还可以,因为生产是在SUSE上进行的。我会等几天,看看是否有人能提供更好的解决方案。:)这不是很酷的解决方案,因为我很容易用完“打开的文件”。:/您也许可以使用缓存。返回的值不应该经常更改。这确实是我现在所做的。我只需要小心DST的变化。