如何2012.08.10
在javascript中将正常日期转换为unix时间戳?
小提琴:http
: //jsfiddle.net/J2pWj/
我在这里看到了很多用 PHP、Ruby 等转换它的帖子......但我需要在 JS 中执行此操作。
如何2012.08.10
在javascript中将正常日期转换为unix时间戳?
小提琴:http
: //jsfiddle.net/J2pWj/
我在这里看到了很多用 PHP、Ruby 等转换它的帖子......但我需要在 JS 中执行此操作。
new Date('2012.08.10').getTime() / 1000
parseInt((new Date('2012.08.10').getTime() / 1000).toFixed(0))
toFixed(0)
在除以 1000 以从毫秒转换为秒时,添加以删除任何小数很重要。
该.getTime()
函数以毫秒为单位返回时间戳,但真正的 unix 时间戳始终以秒为单位。
var d = '2016-01-01T00:00:00.000Z';
console.log(new Date(d).valueOf()); // returns the number of milliseconds since the epoch
您应该查看 moment.js api,它非常易于使用并且具有许多内置功能。
我认为对于您的问题,您可以使用以下方法:
var unixTimestamp = moment('2012.08.10', 'YYYY.MM.DD').unix();
var date = new Date('2012.08.10');
var unixTimeStamp = Math.floor(date.getTime() / 1000);
在这种情况下,重要的是只返回一个整数(所以简单的除法不会做),并且只返回实际经过的秒数(这就是为什么这段代码使用Math.floor()
而不是Math.round()
)。