时间戳被问到,一脸懵逼,一脑空白。现复习,搞清楚,记明白,特此记录,以备后查!
时间戳获取方法总结
- 方法一:(精确到秒)
var timeStamp1 = Date.parse(new Date())
//返回值:1510712005000
解释:Date.parse()
方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。然而Date()
方法虽然本身是当前时间到1970年1月1日00点00分00秒000毫秒数,但是在显示时会只展示到秒,因此上方法只能精确到秒。
- 方法二:(精确到毫秒)
var timeStamp1 = (new Date()).valueOf()
//返回值:1510712222210
解释:valueOf()
方法返回指定对象的原始值,这里返回了new Date()
的原始值,即当前时间到1970年1月1日00点00分00秒000毫秒数。
- 方法三:(精确到毫秒)
var timeStamp3 = (new Date()).getTime()
//返回值:1510712706889
解释:getTime()
方法,表示从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数。
- 获取指定时间时间戳
new Date("2017-11-15 22:22:22");
解释:时间格式必须如2017-11-15 22:22:22
。
时间戳转化方法
function timetrans(date){
var date = new Date(date*1000);//如果date为13位不需要乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() <10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() <10 ? '0' + date.getSeconds() : date.getSeconds());
return Y+M+D+h+m+s;
}