项目需求
根据开始时间和时间差来确定截至时间
项目说明
开始时间:2020-10-10 09:16:50
查询2小时前的时间,即:2020-10-10 07:16:50
项目方案
- js时间函数需要使用不同的属性来组合实现具体时间;
- 时间不足十位数的,需要0补充;
- 将时间转化时间戳,然后毫秒加减实现时间的差值计算
方案代码
//计算时间; function getTimes(fromTime, hours) { fromTime = fromTime.replace(new RegExp("-", "gm"), "/"); var startDate = (new Date(fromTime)).getTime(); var d3 = startDate - hours * 3600 * 1000; var endDate = timestampToTime(d3); return endDate; }
将时间戳转换成正常时间格式
//将时间戳转换成正常时间格式; function timestampToTime(timestamp) { var date = new Date(timestamp); var Y = date.getFullYear() + '-'; var M = timeAdd0((date.getMonth() + 1).toString()) + '-'; var D = timeAdd0(date.getDate().toString()) + ' '; var h = timeAdd0(date.getHours().toString()) + ':'; var m = timeAdd0(date.getMinutes().toString()) + ':'; var s = timeAdd0(date.getSeconds().toString()); return Y + M + D + h + m + s; }
补齐十位数
//补齐十位数; function timeAdd0(str) { if (str.length <= 1) { str = '0' + str; } return str }
Done!