优雅的时间戳转换技巧

初衷

最近作了一个功能涉及到了时间戳的转换。须要对当前时间和服务器传过来的时间做比较,看差值落在哪一个区间,就在页面上显示不一样的文案。好比说,差值为小于1天,显示推送的是近一天的数据;差值大于1小于7,显示推送的是近一周的数据。api

获取当前时刻的时间戳

let time = new Date.getTime()
复制代码

获取日期中的天数(1到31)

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

相关文章
相关标签/搜索