我正在尝试解析应用程序中的.ics文件。我的应用程序有服务器端java层和客户端javascript部分。我正在使用ical4j库来解析它。
问题是DTSTART事件有时不是UTC格式。每当它不在UTC .ics文件中有VTIMEZONE组件,我正在解析并从中获取TZID属性。
Java层最终将JSON发送给客户端。在上面提到的情况下,DTSTART,DTEND和TZID以JSON格式发送。
客户必须使用TZID将DTSTART和DTEND转换为UTC。我试着用moment.js,因为我找不到任何其他可以做到这一点的api。
moment.tz("2014-02-06 05:30", "NorthAmerica/Eastern").format()
下面的moment.js是我得到的错误,
TypeError: Cannot call method 'rule' of undefined
但是下面的代码工作正常,
moment.tz("2014-02-06 17:30", "America/Toronto").format()
是不是可以从.ics文件中按原样使用TZID(即NorthAmerica / Eastern)? 还有其他任何方式或JS库可以给我UTC所有时区,还考虑遵守?