将字符串中的日期转换为Date对象的优雅方法是什么?

时间:2016-06-06 08:20:58

标签: javascript

我的日期是字符串格式:

"05/2016" or "12/2015"

如何将字符串格式的上述日期转换为Date()javascript对象?

4 个答案:

答案 0 :(得分:4)

Date constructor接受下一个序列中的params:year, month, day, hours, minutes, seconds, milliseconds,因此只需解析字符串并将其传递给Date构造函数。

var data = "05/2016".split('/');
// Add + before year to convert str into number. Decrease second param because month starts from 0..11. 
var date = new Date(+data[1],data[0]  - 1);
console.log(date);

此外,您可以将字符串转换为new Date正确解析的格式(请参阅MDN Date.parse description中有关dateString的详细信息。

// convert string "05/2016" -> "2016-05"
var dateString = "05/2016".split('/').reverse().join('-');
var date = new Date(dateString);
console.log(date);

答案 1 :(得分:2)

之前的答案不正确 - 他们得到的月份或年份都是错误的。这是对的(参见FrédéricHamidi的评论)

var str = "12/2015";
var arr = str.split('/');
var date = new Date(parseInt(arr[1], 10), parseInt(arr[0], 10)-1)
console.log(date)

答案 2 :(得分:1)

您可以拆分字符串以获取数组,然后使用Date构造函数。

  

新日期(年,月[,日[,小时[,分钟[,秒[,毫秒]]]]]);

var str = "12/2015";
var arr = str.split('/');
var date = new Date(parseInt(arr[1], 10), parseInt(arr[0], 10) - 1)
console.log(date)

答案 3 :(得分:0)

您可能需要查看Converting string to date in js

我遇到了类似的问题,偶然发现了现有的链接。