如何通过javascript将日期转换为毫秒? [复制]
Posted
技术标签:
【中文标题】如何通过javascript将日期转换为毫秒? [复制]【英文标题】:How to convert date to milliseconds by javascript? [duplicate] 【发布时间】:2018-08-21 05:49:04 【问题描述】:例如,我有多个日期(25-12-2017),我需要通过 javascript 将它们转换为毫秒
【问题讨论】:
【参考方案1】: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());
【讨论】:
请注意,两种方法返回的时间值因您的时区偏移量而异(您的代码中有错误)。不要使用内置解析器。【参考方案2】:除了使用vanilla javascript,你还可以使用很多库来获得更多的功能。
如date-fns、moment.js 等
例如,使用 moment.js 你可以通过moment('25-12-2017', 'DD-MM-YYYY').valueOf()
将日期转换为毫秒,比 vanilla javascript 更优雅和强大。
【讨论】:
这应该是评论,不是答案。 @RobG 是否有行为的答案指向我使用答案或评论? 请参阅How do I write a good answer? 特别是,答案应根据回答问题部分回答问题。想象一下,问一个关于如何用纯脚本在 DOM 中做某事的问题,你得到的只是“使用 jQuery 或 Prototype.js 之类的库”或“使用 react 或 angular 之类的框架”之类的答案。 @RobG 知道了,我已经更新了答案,谢谢。【参考方案3】:一种方法是在new Date
上使用年、月和日作为参数
new Date(年,月[,日[,小时[,分[,秒[,毫秒]]]]]);
您可以使用函数来准备日期字符串。
注意:月份是 0-11,这就是为什么 m-1
这是一个sn-p:
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
【讨论】:
好的,但是为什么 prepareDate 函数不只返回一个日期?以上是关于如何通过javascript将日期转换为毫秒? [复制]的主要内容,如果未能解决你的问题,请参考以下文章