項目中要做每天時分秒的比較但是網上找到的不符合自己的需求所以自己整了一個
進入正題
一、前端方法
1.HH:mm:ss轉時間戳方法
time_to_sec(time) { if (time !== null) { let s = ""; s = Date.parse('1970-01-01 ' + time) / 1000 return s; } }
因為時間戳是1970-01-01開始的所以給初始了這個日期 time 是 時分秒 除1000是因為
Date.parse方法會返回一個000結尾的毫秒級時間戳而且我需要的是秒級
2.時分秒時間戳轉HH:mm:ss
times(data) { let date = new Date(data * 1000) let hh = (date.getHours() < 10) ? ('0' + date.getHours() + ':') : (date.getHours() + ':'); let mm = (date.getMinutes() < 10) ? ('0' + date.getMinutes() + ':') : (date.getMinutes() + ':'); let ss = (date.getSeconds() < 10) ? ('0' + date.getSeconds()) : (date.getSeconds()); return hh + mm + ss; }
二、后端
要把系統獲取到的時間戳和存儲的時間戳做比較處理符合條件的記錄
String res; // 將時間戳轉為時間 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss"); Date date = new Date(travelRecord.getTimestamp()); res = simpleDateFormat.format(date); try { // 獲取到HH:mm:ss在轉成時間戳進行比對 Date date1 = simpleDateFormat.parse(res); long ts = date1.getTime() / 1000; if (rule.getStartTime() <= ts && ts <= rule.getEndTime()) { // 符合條件的進行處理 } } catch (ParseException e) { e.printStackTrace(); }
分享到此
感謝大佬觀看
如有錯誤歡迎指正
2020-07-28 10:16:23