我正在尝试将日期的字符串格式转换为JavaScript中的日期对象。 我得到了不同类型的日期格式,如“dd / MM / yyyy HH:mm:ss”或“dd-MM-yyyy HH:mm:ss”或“MM-dd-yyyy HH:mm:ss”等。想要将它们转换为时间戳并在UI中显示它们。 我尝试下面的代码来获取日期对象
new Date("05/01/2012 21:10:17");
Tue May 01 2012 21:10:17 GMT+0530 (India Standard Time)
new Date("15/01/2012 21:10:17");
Invalid Date
new Date("15-01-2012 21:10:17");
Invalid Date
new Date("05-01-2012 21:10:17");
Tue May 01 2012 21:10:17 GMT+0530 (India Standard Time)
他们中很少有人获得Invalid Date
。请帮帮我,是否有任何特定的代码/逻辑将任何字符串格式转换为日期对象?
答案 0 :(得分:0)
Javascript Date
对象为"month day year"
,而不是"day month year"
,因此您需要更新String
。
在这里,我只是在你的字符串中交换月份和日期:
const data = "15/01/2012 21:10:17";
const readableDate = data.substring(3,6) + data.substring(0,2) + data.substring(5,data.length);
console.log(new Date(readableDate));
答案 1 :(得分:0)
你也可以这样做:
var d = new Date(year, month, day, hour, minute, second, millisecond);
要转换为时间戳,请致电:
d.getTime()
答案 2 :(得分:-1)
有一个最好的工具,可以在我用过的JavaScript中玩日期。它被称为Moment.js。我建议你看看这个,它允许你举例来做这样的事情:
var date = moment("2014-02-27T10:00:00").format('DD-MM-YYYY');
var dateMonthAsWord = moment("2014-02-27T10:00:00").format('DD-MMM-YYYY');
var myDate = moment(str, 'YYYY-MM-DD').toDate();