在JavaScript中,如何从任何日期获得正确的Unix时间戳
方玉
・3 分钟阅读
获取任何Unix时间戳的JavaScript Date对象的通用解决方案。
// Copy & Paste this
Date.prototype.getUnixTime = function() { return this.getTime()/1000|0 };
if(!Date.now) Date.now = function() { return new Date(); }
Date.time = function() { return Date.now().getUnixTime(); }
// Get the current time as Unix time
var currentUnixTime = Date.time();
currentUnixTime = Date.now().getUnixTime(); // same as above
// Parse a date and get it as Unix time
var parsedUnixTime = new Date('Mon, 25 Dec 1995 13:30:00 GMT').getUnixTime();
// parsedUnixTime==819898200
动机
Unix时间(又名epoch时间)在Unix和许多其他操作系统和文件格式中被广泛使用,很遗憾,c样式time()
调用和JavaScript的Date.getTime()
之间存在一个很小的差异:
Unix时间戳定义为自1970年1月1日星期四00:00:00协调世界时(UTC)以来经过的秒数。
Javascript的date,gettime()
解决方案
复制并粘贴以下代码到你的Javascript开头:
Date.prototype.getUnixTime = function() { return this.getTime()/1000|0 };
if(!Date.now) Date.now = function() { return new Date(); }
Date.time = function() { return Date.now().getUnixTime(); }
***完成***!
用法
上面三行添加:
Date.getUnixTime()
返回Unix纪元时间,date,now()
polyfill for older browsers,,Date.time()
是一个c样式的helper函数,它返回当前的Unix时间,
将当前时间作为Unix时间戳获取
var currentUnixTime = Date.time();
这是一个
var currentUnixTime = Date.now().getUnixTime();
以JavaScript日期对象获取当前时间
var currentTime = Date.now();
获取任何JavaSript日期对象的Unix时间
var someDate = new Date('Mon, 25 Dec 1995 13:30:00 GMT');
var theUnixTime = someDate.getUnixTime();
相关工作
- momentJS是一个优秀的库,用于解析,操作和格式化JavaScript中的日期和时间值,