@Wangww0925
2019-08-07T07:55:37.000000Z
字数 1357
阅读 198
js-Date()
注意:单位是毫秒
/** 时间封装函数
* 参数
time 时间戳, 单位 毫秒
* 调用
dateDetail(new Date().getTime());
*/
function dateDetail(time) {
var now = new Date(time);
var m = now.getMonth() + 1;
var d = now.getDate();
var h = new Date(time).getHours();
var min = new Date(time).getMinutes();
var s = new Date(time).getSeconds();
var ms = new Date(time).getMilliseconds();
return {
y: now.getFullYear(), // 年
m: m < 10 ? "0" + m : m, // 月
d: d < 10 ? "0" + d : d, // 日
t: now.getTime(), // 时间戳
tZero: now.setHours(0,0,0,0), // 凌晨时间戳
w: now.getDay(), // 星期
h: h < 10 ? "0" + h : h, // 时
min: min < 10 ? "0" + min : min, // 分
s: s < 10 ? "0" + s : s, // 秒
ms: ms, // 毫秒
}
}
/** 根据时间戳,返回时间,用于展示【消息发送时间】
* 说明
1、 必须小于当前时间戳
* 参数
time 时间戳, 单位 毫秒
*/
function setTime(time){
var timeStamp = 24 * 60 * 60 * 1000; // 一天时间戳
var now = dateDetail(new Date().getTime());
var date = dateDetail(new Date(time).getTime());
console.log(now.y + "-" + now.m + "-" + now.d, date.y + "-" + date.m + "-" + date.d)
// 判断为今日
if (now.tZero < date.t){
return date.h + ":" + date.min
}
// 判断为昨天
var yesterday = dateDetail(now.t - timeStamp);
if (yesterday.tZero < date.t){
return "昨日 " + date.h + ":" + date.min
}
// 判断为本周
var day = {
0: 6,
1: 0,
2: 1,
3: 2,
4: 3,
5: 4,
6: 5
}
var xq = {
0: "日",
1: "一",
2: "二",
3: "三",
4: "四",
5: "五",
6: "六"
}
var week = dateDetail(now.t - day[now.w] * timeStamp); // 周一时间戳
if (week.tZero < date.t){
return "周" + xq[date.w] + " " + date.h + ":" + date.min
}
// 其他时间
return date.y + "-" + date.m + "-" + date.d
}
setTime(new Date().getTime() - 1000 * 60 * 5);
setTime(new Date().getTime() - 1000 * 60 * 60 * 30);
setTime(new Date().getTime() - 1000 * 60 * 60 * 24 * 2);
作者 wendy
2019 年 7月 30日