?
目录
一.基础讲解
例子:计算2023-05-09 加48小时
var zhi= time.split(' ') console.log(zhi[0]); var nyr=zhi[0].split('-') var sf=zhi[1].split(':') var currentDate = new Date(); currentDate.setFullYear(nyr[0]); currentDate.setMonth(nyr[1]-1); // 月份从0开始计数,0表示一月 currentDate.setDate(nyr[2]); currentDate.setHours(sf[0]); currentDate.setMinutes(sf[1]); time+=':00' // 将时间转换为时间戳 var timestampSave = currentDate.getTime()+172800000 ;
首先明确上方是使用getTime转成的时间戳,getTime是精确到毫秒的,计算48小时转为秒
48*3600
转为毫秒需要再加上三个0
48*3600000
二.实际应用
需求当前时间比较指定时间加上48小时
function timeDateFs(time) { var zhi= time.split(' ') console.log(zhi[0]); var nyr=zhi[0].split('-') var sf=zhi[1].split(':') var currentDate = new Date(); currentDate.setFullYear(nyr[0]); currentDate.setMonth(nyr[1]-1); // 月份从0开始计数,0表示一月 currentDate.setDate(nyr[2]); currentDate.setHours(sf[0]); currentDate.setMinutes(sf[1]); // 将时间转换为时间戳 var timestampSave = currentDate.getTime()+172800000 ; var currentTime = new Date(); var timestampNow = currentTime.getTime(); return timestampNow<=timestampSave } timeDateFs('2023-03-04 14:24')
解析:
? ? var zhi= time.split(' ')//结果:['2023-03-04','14:24']
? ? var nyr=zhi[0].split('-') //结果['2023','03','04']
? ? var sf=zhi[1].split(':') //结果['14','24']
? ? var currentDate = new Date(); ?
? ? currentDate.setFullYear(nyr[0]);//设置年2023
? ? currentDate.setMonth(nyr[1]-1); // 月份从0开始计数,0表示一月
? ? currentDate.setDate(nyr[2]);//设置日04
? ? currentDate.setHours(sf[0]);//设置小时
? ? currentDate.setMinutes(sf[1]);? //设置分钟?? ? // 将时间转换为时间戳?
? ? var timestampSave = currentDate.getTime()+172800000 ;//指定日期的时间戳加上48小时的时间戳
? ? var currentTime = new Date();
? ? var timestampNow = ?currentTime.getTime();? //获取当前日期的时间戳
? ? return timestampNow<=timestampSave //比较结果,当前日期小于等于指定日期加上48小时返回true