最近作了一个功能涉及到了时间戳的转换。须要对当前时间和服务器传过来的时间做比较,看差值落在哪一个区间,就在页面上显示不一样的文案。好比说,差值为小于1天,显示推送的是近一天的数据;差值大于1小于7,显示推送的是近一周的数据。api
let time = new Date.getTime()
复制代码
let time = new Date();
let day = time.getDate();
复制代码
let time = new Date();
// 若是参数为负数,表示当前日期的n天以前的日期
// 假设今天是2019年5月11日,则如下代码表示2019年4月30的时间戳
let date = time.setDate(-11)
复制代码
你是否是会想到用当前的时间戳,减去7天的毫秒数。咱们来写一下服务器
方法1:ui
let nowTime = new Date().getTime();
let lastWeekTime = nowTime - 7 * 24 * 60 * 60 * 1000
复制代码
这种方法很直观,可是须要不少计算。我我的不是很喜欢,还有一个更推荐的写法,就是用Date的api:getDate()、setDate()spa
方法2(推荐):code
let nowTime = new Date();
let lastWeekTime = nowTime.setDate(nowTime.getDate() - 7);
复制代码
这里利用了getDate()这个api直接获取了当前时间的天数,而后用setDate()把时间把时间设置成7天前的时间。cdn
ps: 当前时间最好从服务器拿,否则万一用户的系统时间是不许确的,那就出问题了blog