javascript格式化时间(几秒钟前,几分钟前,几小时前,几天前...)
beautify_time: function(timestamp) { var mistiming = Math.round(new Date() / 1000) - timestamp; var postfix = mistiming > 0 ? '前' : '后' mistiming = Math.abs(mistiming) var arrr = ['年', '个月', '星期', '天', '小时', '分钟', '秒']; var arrn = [31536000, 2592000, 604800, 86400, 3600, 60, 1]; for (var i = 0; i < 7; i++) { var inm = Math.floor(mistiming / arrn[i]) if (inm != 0) { return inm + arrr[i] + postfix } } },
调用方式
var timestamp3 = new Date('2018-10-30 20:08:23') / 1000; console.log(timestamp3, this.beautify_time(timestamp3))
将时间戳转换成日期格式:
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。
2. 将日期格式转换成时间戳:
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时间戳,就可传值给后台得到。
beautify_time: function(timestamp) {
var mistiming = Math.round(new Date() / 1000) - timestamp;
var postfix = mistiming > 0 ? '前' : '后'
mistiming = Math.abs(mistiming)
var arrr = ['年', '个月', '星期', '天', '小时', '分钟', '秒'];
var arrn = [31536000, 2592000, 604800, 86400, 3600, 60, 1];
for (var i = 0; i < 7; i++) {
var inm = Math.floor(mistiming / arrn[i])
if (inm != 0) {
return inm + arrr[i] + postfix
}
}
},
本文来自博客园,作者:jevan,转载请注明原文链接:https://www.cnblogs.com/DoNetCShap/p/9954789.html