2016-11-16 127 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);