读取UTC时间字符串

时间:2016-04-18 18:01:08

标签: javascript momentjs

您好我正在尝试使用moments.js读取一些UTC数据字符串。

e.g。

date1 = moment.utc("160114224512Z").format('YYYY-MM-DD HH:mm:ss');
console.log(date1)

但是,这总是会引发无效的日期错误

3 个答案:

答案 0 :(得分:1)

如果您指定$thumbnail_url = 'http://i2.ytimg.com/vi/552yWya5RgY/hqdefault.jpg'; $hq_thumbnail_url = str_replace('hqdefault.jpg', 'maxresdefault.jpg', $thumbnail_url); x令牌,则Moment将接受以秒和毫秒为单位的unix时间戳作为字符串。实际上你甚至不需要剥离Z - 与Xx标记相关的正则表达式正在寻找一个数字,所以它默认会忽略Z.

我认为你有毫秒,所以你会使用小的X令牌,如下所示:

x

那看起来不错?

另外需要注意的是,为了清楚起见,剥离Z可能,即使您不必这样做。

答案 1 :(得分:0)

我假设你有没有显示的引号,例如:

date1 = moment.utc("160114224512Z").format('YYYY-MM-DD HH:mm:ss');
// Note -----------^-------------^
console.log(date1)

问题很简单:这不是我见过的任何格式的有效日期/时间字符串。例如,它肯定不是ISO-8601。

看起来就像是1975年1月28日的一段时间以来的历史值,因为它只是一个数字而且它太大而不是毫秒 - 因为这个时代(除非你真的有一个7043年的日期。

如果它是自纪元以来的秒数,请抛弃Z并将其用作数字:

date1 = moment.utc(160114224512).format('YYYY-MM-DD HH:mm:ss');

答案 2 :(得分:0)

字符串160114224512Z不是有效的UTC时刻格式,也不是有效的时刻格式。

我建议你指定输入格式,我会这样做:

moment.utc(160114224512, 'x').format('YYYY-MM-DD HH:mm:ss')