使用格式yyyyMMdd在javascript中创建日期对象

时间:2016-02-26 15:38:33

标签: javascript validation datetime

我的日期格式为yyyyMMdd,即20160110,但无法使用此方法转换新日期(“20160110”),因为它提供无效日期错误

2 个答案:

答案 0 :(得分:3)

这不是与 Date()一起使用的有效日期格式。而是使用ISO 8601 syntax(YYYY-MM-DD)。如果您有yyyymmdd格式的日期变量,那么您可以这样做:

new Date(date.replace(/(....)(..)(..)/,"$1-$2-$3"))

来自MDN

  

语法

     

直接电话:

Date.parse(dateString)
     

隐含电话:

new Date(dateString)
     

参数

     

<强> dateString
     表示RFC2822或ISO 8601日期的字符串(可以使用其他格式,但结果可能是意外的)。

答案 1 :(得分:1)

使用正则表达式:

var date = "20160226".match(/(\d{4})(\d{2})(\d{2})/).map(x => +x); // ES6 to parse as integer
date[2] -= 1; // cause month starts at index 0
date = new Date(date[1], date[2], date[3])

console.log(date);