时间戳【转藏】

获取的时间戳返回值都是1970/1/1午夜距离当前某一个日期的毫秒数。
1.Date.parse() ---- 后三位默认是000
var d = Date.parse("2017/03/19")
//或者var d = Date.parse(new Date());
//返回当前时间毫秒数
console.log(d)
//返回的结果1489881600000,后三位默认为000

2.Data.getTime()
var dateNow = new Date();
var ff = dateNow.getTime();
console.log(ff);
//打印出来的是1489899243209

3.巧妙写法 + new Date()
var aa = + new Date();
console.log(aa);
//返回值为:1520218413266

4.(new Date()).valueOf()
var aa = (new Date()).valueOf();
console.log(aa);
//返回值为:1520218413266

eg:
var date = new Date('2014-04-23 18:55:49:123');
// 有三种方式获取
var time1 = date.getTime();
var time2 = date.valueOf();
var time3 = Date.parse(date);
console.log(time1);//1398250549123
console.log(time2);//1398250549123
console.log(time3);//1398250549000

以上三种获取方式的区别:
  第一、第二种:会精确到毫秒
  第三种:只能精确到秒,毫秒用000替代
  以上三个输出结果可观察其区别
  注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。
将时间戳转成日期格式
旧思路
function timestampToTime(timestamp) {
var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = date.getDate() + ' ';
var h = date.getHours() + ':';
var m = date.getMinutes() + ':';
var s = date.getSeconds();
return Y+M+D+h+m+s;
}
timestampToTime(1403058804);
console.log(timestampToTime(1403058804));//2014-06-18 10:33:24

注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。
新思路
function time(time = +new Date()) {
var date = new Date(time + 8 * 3600 * 1000); // 增加8小时
return date.toJSON().substr(0, 19).replace('T', ' ');
}
time(); // "2018-08-09 18:25:54"

Date的‘toJSON’方法返回格林威治时间的JSON格式字符串,实际是使用‘toISOString’方法的结果。字符串形如‘2018-08-09T10:20:54.396Z’,转化为北京时间需要额外增加八个时区,我们需要取字符串前19位,然后把‘T’替换为空格,即是我们需要的时间格式。
function time(time = +new Date()) {
var date = new Date(time + 8 * 3600 * 1000);
return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '.');
}
time(); // "2018.08.09 18:25:54"

把时间格式中的‘-’修改为‘.’或者其他符号都是可以的。对比老方法,这种方法代码量比以前省了不止一星半点的,读起来也简洁多了。如果时间格式需要毫秒数,只需要获取前23位字符串,和上面一样用replace方法替换。

作者:嘻小佳
链接:https://www.jianshu.com/p/d3b27c851611
来源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(时间戳【转藏】)