2016-11-16 120 views
0

如何解析yyyy-MM-dd HH:mm:ss.SSS格式日期在javascript中?

const time = '2016-11-16 00:00:00.000'; 
 
const date = new Date(time); 
 
console.info(date);

看来Safari无法解析YYYY-MM-DD HH:MM:SS.SSS日期格式(它返回NaN),而镀铬正常工作,我该如何解析呢?

+3

对于解析日期moment.js是最好的library.If你没有任何问题,使用THRID党库,如果你看一下已经做了什么镀铬的输出,你可以用它 – Geeky

+0

' 2016-11-16T00:00:00.000Z',你会看到它在空间中放了一个'T',并在末尾添加了一个'Z'。如果Safari浏览器很挑剔,也许你可以做同样的事情。 – Keith

回答

1

尝试使用时刻js。 看看:moment.js parse with format 例如:

var mydate = moment("2016-11-16 00:00:00.000", "yyyy-MM-dd HH:mm:ss.SSS").toDate(); 

没有测试,我把那里的格式moment.js可能会使用不同的字符串来定义它,但你可以看到这一切在文档链接我上面写的

1

我会用javascript来处理日期。简单的例子:

var time = '2016-11-16 00:00:00.000'; 
 
var m = moment.utc(time, "YYYY-MM-DD HH:mm:ss.SSS"); 
 
console.log(m)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment-with-locales.min.js"></script>

0

如果Safari是一直挑剔DATATIME格式,你也许可以做一些简单的字符串替换&串联。

const time = '2016-11-16 00:00:00.000'; 
 
const date = new Date(time.replace(' ','T') + 'Z'); 
 
console.info(date);