2016-11-24 29 views
0

我試圖找到這種格式「20161126 00:00」這樣從「20161126 00:00」字符串創建日期在JavaScript

創建一個字符串在JavaScript中新日期的最快方法

我使用一些分裂這樣的:

parseDateTime = (dateTime) -> 
     dateArray = dateTime.split(" "); 
     date = dateArray[0] 
     time = dateArray[1] 
     year = 
     month = 
     day = 
     hour = time.split(':')[0] 
     minute = time.split(':')[1] 

,但我希望你能找到一個快捷和簡單的方式。

+1

是'20161126' alsways的'YYYY:MM:dd'格式在此上下文中? –

+0

是的,格式總是相同的 –

+0

如果你可以使用它,momentjs將會是一個簡單的方法 – Luka

回答

1

使用正則表達式來獲取零部件,然後創建一個新日期:

var parts = dateTimeStr.match(/^(\d{4})(\d\d)(\d\d) (\d\d):(\d\d)$/); var d = new Date(+parts[1], +parts[2] - 1, +parts[3], +parts[4], +parts[5]);

只有這麼簡單,如果你的格式是固定的。

1

如果yyyy:mm:dd日期格式始終相同,則可以使用substring。 請注意,此方法提取「start」和「end」之間的字符串中的字符,不包括「end」本身。

var dateTime = "20161126 00:00"; 
 
dateArray = dateTime.split(" "); 
 
     date = dateArray[0]; 
 
     time = dateArray[1]; 
 
     year = date.substring(0, 4); 
 
     month = date.substring(4, 6); 
 
     day = date.substring(6, 8); 
 
     hour = time.split(':')[0]; 
 
     minute = time.split(':')[1]; 
 
     console.log("the dateTime variable: "+dateTime+", date: "+date+", time: "+time+", year: "+year+", month: "+month+", day: "+day+", hour: "+hour+", minute: "+minute);

相關問題