我想要一个表示当前日期和时间的数字,比如Unix时间戳。
当前回答
var my_timestamp=~~(Date.now()/1000);
其他回答
Date.getTime()方法可以稍微调整一下:
getTime方法返回的值是毫秒数自1970年1月1日00:00:00 UTC开始。
将结果除以1000得到Unix时间戳,必要时为floor:
(new Date).getTime() / 1000
Date.valueOf()方法在功能上等同于Date.getTime(),这使得可以对Date对象使用算术运算符来获得相同的结果。在我看来,这种方法会影响可读性。
console.log(newDate().valueOf());//返回自epoch以来的毫秒数
建议的正确方法是Number(new Date()),就代码可读性而言,
此外,UglifyJS和Google闭包编译器将降低已解析代码逻辑树的复杂性(如果您使用其中一个来隐藏/缩小代码)。
对于时间分辨率较低的Unix时间戳,只需将当前数字除以1000,保持整数。
简单来说,这里有一个函数可以在Javascript中返回时间戳字符串。示例:下午15:06:38
function displayTime() {
var str = "";
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()
if (minutes < 10) {
minutes = "0" + minutes
}
if (seconds < 10) {
seconds = "0" + seconds
}
str += hours + ":" + minutes + ":" + seconds + " ";
if(hours > 11){
str += "PM"
} else {
str += "AM"
}
return str;
}
var time = Date.now || function() {
return +new Date;
};
time();