我想将日期转换为时间戳,我的输入是26-02-2012。我使用

new Date(myDate).getTime();

上面写着NaN..有人能告诉我怎么转换吗?


当前回答

这个重构的代码就可以做到这一点

let toTimestamp = strDate => Date.parse(strDate)

这适用于除ie8-以外的所有现代浏览器

其他回答

其他开发人员已经提供了答案,但在我自己的方式中,你可以在不创建任何用户定义函数的情况下执行此操作,如下所示:

var timestamp = Date.parse("26-02-2012".split('-').reverse().join('-'));
alert(timestamp); // returns 1330214400000

为了将(ISO)日期转换为Unix时间戳,我最终得到了一个比所需时间长3个字符的时间戳,所以我的年份大约是50k…

我要除以1000 new Date('2012-02-26').getTime() / 1000

最简单和准确的方法是在日期之前添加一元操作符

console.log('时间戳是:${数字(+新日期())}')

试试这个函数,它使用Date.parse()方法,不需要任何自定义逻辑:

function toTimestamp(strDate){
   var datum = Date.parse(strDate);
   return datum/1000;
}
alert(toTimestamp('02/13/2009 23:31:30'));

一幅图胜过千言万语:)

在这里,我将当前日期转换为时间戳,然后将时间戳转换为当前日期,我们将展示如何将日期转换为时间戳,并将时间戳转换为日期。