優雅的時間戳轉換技巧
最近做了一個功能涉及到了時間戳的轉換。需要對當前時間和伺服器傳過來的時間作比較,看差值落在哪個區間,就在頁面上顯示不同的文案。比如說,差值為小於1天,顯示推送的是近一天的資料;差值大於1小於7,顯示推送的是近一週的資料。
獲取當前時刻的時間戳
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:
let nowTime = new Date().getTime(); let lastWeekTime = nowTime - 7 * 24 * 60 * 60 * 1000 複製程式碼
這種方法很直觀,但是需要很多計算。我個人不是很喜歡,還有一個更推薦的寫法,就是用Date的api:getDate()、setDate()
方法2(推薦):
let nowTime = new Date(); let lastWeekTime = nowTime.setDate(nowTime.getDate() - 7); 複製程式碼
這裡利用了getDate()這個api直接獲取了當前時間的天數,然後用setDate()把時間把時間設定成7天前的時間。