转换新日期构造函数的字符串日期

时间:2017-07-23 17:41:05

标签: javascript date

我的字符串日期格式为YYYYMMDD(20170603)。此字符串中没有连字符,它只是一个字符串。我想转换此字符串,以便日期构造函数可以使用它。我想做以下new Date(2017,06,03)这样做最有效的方法是什么?注意:我希望我的日期为YYYY MM DD格式

3 个答案:

答案 0 :(得分:1)

你可以使用substring():

new Date( parseInt( str.substring(0,4) ) , 
          parseInt( str.substring(4,6) ) -1 , 
          parseInt( str.substring(6,8) ) 
        );

与评论显示一样,你可以省略parseInt:

new Date( str.substring(0,4) , 
          str.substring(4,6) - 1 , 
          str.substring(6,8) 
        );

答案 1 :(得分:0)

您可以使用String.prototype.slice()

let month = +str.slice(4, 6);
let date = new Date(str.slice(0, 4), !month ? month : month -1, str.slice(6))

答案 2 :(得分:0)



var dateStr = "20170603";
var match = dateStr.match(/(\d{4})(\d{2})(\d{2})/);
var date = new Date(match[1] + ',' + match[2] + ',' + match[3])

console.log(date);