優雅的時間戳轉換技巧

初衷

最近作了一個功能涉及到了時間戳的轉換。須要對當前時間和服務器傳過來的時間做比較,看差值落在哪一個區間,就在頁面上顯示不一樣的文案。好比說,差值爲小於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

相關文章
相關標籤/搜索