如何2012.08.10
在JavaScript中将正常日期转换为Unix时间戳?
小提琴:http
: //jsfiddle.net/J2pWj/
我在这里看到过很多文章,可以将其转换为PHP,Ruby等。但是我需要在JS内完成。
unix timestamp
对所有工程学和计算机科学来说都是如此重要。希望有内置的便捷方法。目前,我正在使用Math.floor((+new Date()) / 1000);
如何2012.08.10
在JavaScript中将正常日期转换为Unix时间戳?
小提琴:http
: //jsfiddle.net/J2pWj/
我在这里看到过很多文章,可以将其转换为PHP,Ruby等。但是我需要在JS内完成。
unix timestamp
对所有工程学和计算机科学来说都是如此重要。希望有内置的便捷方法。目前,我正在使用Math.floor((+new Date()) / 1000);
Answers:
new Date('2012.08.10').getTime() / 1000
您可以简单地使用一元+运算符
(+new Date('2012.08.10')/1000).toFixed(0);
/
已经是数学运算符。此外,toFixed
返回字符串,而不是一个号码,如果类型是重要..
您可以使用Date.parse(),但是它接受的输入格式取决于实现。但是,如果您可以将日期转换为ISO格式(YYYY-MM-DD),则大多数实现应理解它。
将时间戳与PHP中的时间戳进行比较后,以上内容似乎都不适合我的时区。下面的代码给了我与PHP相同的结果,这对我正在做的项目来说最重要。
function getTimeStamp(input) {
var parts = input.trim().split(' ');
var date = parts[0].split('-');
var time = (parts[1] ? parts[1] : '00:00:00').split(':');
// NOTE:: Month: 0 = January - 11 = December.
var d = new Date(date[0],date[1]-1,date[2],time[0],time[1],time[2]);
return d.getTime() / 1000;
}
// USAGE::
var start = getTimeStamp('2017-08-10');
var end = getTimeStamp('2017-08-10 23:59:59');
console.log(start + ' - ' + end);
我在NodeJS上使用它,时区为'Australia / Sydney'。因此,我必须在.env文件上添加此代码:
TZ = 'Australia/Sydney'
以上相当于:
process.env.TZ = 'Australia/Sydney'