如何用javascript将日期转换为毫秒?

How to convert date to milliseconds by javascript?

本问题已经有最佳答案,请猛点这里访问。

我有多个日期,例如(25-12-2017),我需要用javascript将它们转换为毫秒。


一种方法是在new Date上使用年、月和日作为参数。

new Date(year, month [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

您可以使用函数来准备日期字符串。

注:月份为0-11,这就是m-1的原因。

下面是一个片段:

1
2
3
4
5
6
7
8
9
function prepareDate(d) {
  [d, m, y] = d.split("-"); //Split the string
  return [y, m - 1, d]; //Return as an array with y,m,d sequence
}

let str ="25-12-2017";
let d = new Date(...prepareDate(str));

console.log(d.getTime());

文档:https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date


1
2
3
4
5
6
7
8
9
10
11
var dateTokens ="2018-03-13".split("-");
//creating date object from specified year, month, and day
var date1 = new Date(dateTokens[0],dateTokens[1] -1,dateTokens[2]);
//creating date object from specified date string
var date2 = new Date("2018-03-13");

console.log("Date1 in milliseconds:", date1.getTime());
console.log("Date2 in milliseconds:", date1.getTime());

console.log("Date1:", date1.toString());
console.log("Date2:", date2.toString());


除了使用普通的JavaScript,您还可以使用许多库来获取更多的函数。

比如日期fns、moment.js等

例如,使用moment.js,您可以通过moment('25-12-2017', 'DD-MM-YYYY').valueOf()将日期转换为毫秒,这比普通的javascript更优雅、更强大。