分享个前后端时分秒与时间戳互相转换的方法
- 2020 年 7 月 28 日
- 筆記
项目中要做每天时分秒的比较但是网上找到的不符合自己的需求所以自己整了一个
进入正题
一、前端方法
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