您好我正在尝试使用moments.js读取一些UTC数据字符串。
e.g。
date1 = moment.utc("160114224512Z").format('YYYY-MM-DD HH:mm:ss');
console.log(date1)
但是,这总是会引发无效的日期错误
答案 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 - 与X
和x
标记相关的正则表达式正在寻找一个数字,所以它默认会忽略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')