使用moment.js转换XML解析时间和日期的时区

时间:2016-10-08 19:13:13

标签: javascript xml date time momentjs

我正在使用Javascript解析XML文件,我想使用moment.js将日期转换为我的本地时区,但我被卡住了。基本解析包括获取日期:

arrayListOfHashSet.add(new HashSet<Integer>());

生成类似document.write(x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue); 的内容。使用moment.js可以像这样格式化日期:

31/12/2016 23:00

在我当前的时区写下var utcDate = moment.utc('31/12/2016 23:00', 'DD/MM/YYYY HH:mm'); var localDate = utcDate.local(); document.write(localDate); 。但我无法弄清楚如何使用上面的方法解析。尝试修改变量,但结果只得到“无效日期”。

01/01/2017 01:00

有没有人有任何提示?可能是其他解决方案,而不是使用moment.js,但它似乎是最好和最灵活的选择。

1 个答案:

答案 0 :(得分:1)

您已将XML遍历放在字符串中。如果它不是真正的javascript,则不会发生遍历。另外,moment.js会尝试将该文字字符串解析为日期,而不是该遍历的值。

'x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue'

您需要取消引用您的遍历以获取其值,然后将其提供给moment.js。

var utcDate = moment.utc(x[i].getElementsByTagName("Date")[0].childNodes[0].nodeValue, 'DD/MM/YYYY HH:mm');