1. 程式人生 > 實用技巧 >分享個前後端時分秒與時間戳互相轉換的方法

分享個前後端時分秒與時間戳互相轉換的方法

專案中要做每天時分秒的比較但是網上找到的不符合自己的需求所以自己整了一個

進入正題

一、前端方法

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-2810:16:23