js 时间转换

//时间戳转换

function formatUnixtimestamp (unixtimestamp){
var unixtimestamp = new Date(unixtimestamp*1000);
var year = 1900 + unixtimestamp.getYear();
var month = "0" + (unixtimestamp.getMonth() + 1);
var date = "0" + unixtimestamp.getDate();
var hour = "0" + unixtimestamp.getHours();
var minute = "0" + unixtimestamp.getMinutes();
var second = "0" + unixtimestamp.getSeconds();
return year + "-" + month.substring(month.length-2, month.length) + "-" + date.substring(date.length-2, date.length)
+ " " + hour.substring(hour.length-2, hour.length) + ":"
+ minute.substring(minute.length-2, minute.length) + ":"
+ second.substring(second.length-2, second.length);
}

//与本地时间的比较

function time(timestamp) {
var arrTimestamp = (timestamp + "").split("");
for (var start = 0; start < 13; start++) {
if (!arrTimestamp[start]) {
arrTimestamp[start] = "0";
}
}
timestamp = arrTimestamp.join("") * 1;

var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - timestamp;

// 如果本地时间反而小于变量时间
if (diffValue < 0) {
return "不久前";
}

// 计算差异时间的量级
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;

// 数值补0方法
var zero = function(value) {
if (value < 10) {
return "0" + value;
}
return value;
};

// 使用
if (monthC > 12) {
// 超过1年,直接显示年月日
return (function() {
var date = new Date(timestamp);
return (
date.getFullYear() +
"年" +
zero(date.getMonth() + 1) +
"月" +
zero(date.getDate()) +
"日"
);
})();
} else if (monthC >= 1) {
return parseInt(monthC) + "月前";
} else if (weekC >= 1) {
return parseInt(weekC) + "周前";
} else if (dayC >= 1) {
return parseInt(dayC) + "天前";
} else if (hourC >= 1) {
return parseInt(hourC) + "小时前";
} else if (minC >= 1) {
return parseInt(minC) + "分钟前";
}
return "刚刚";
}

原文地址:https://www.cnblogs.com/xk-one/p/9273324.html