vue+iview计算两个时间字符串之间的时间差

根据时间字符串计算时间差

根据时间字符串计算时间差

根据时间戳来除以对应的毫秒,秒,分钟,小时得出来相应的小数点数据,然后根据小数点后数据乘以对应的数值,得出对应的时间
对应关系
ms ==> 1000
s ==> 1000 * 60
min ==> 1000 * 60 * 60
h ==> 1000 * 60 * 60 * 24

/**
 * 根居时间字符串计算时间差,
 * @param startTime 2020-09-15 15:53:04 开始时间
 * @param endTime 2020-09-15 15:53:04 结束时间
 * @returns {*} {
 *  d:天,
 *  h:小时,
 *  min:分钟
 *  s:秒
 *  ms:毫秒
 * }
 */
export const getTimeDifference = ( startTime, endTime) => {
  let timeData={}
  if(startTime != null  ){
    let sd = startTime.substring(0, 19).replace(/-/g, '/')// 将时间字符串截取到秒,并将其中的-换成/
    let se = '' // 这是定义结束时间,如果为空,就获取当前时间
    let cdate = new Date()
    if( endTime != null  || endTime != ''){
      se = endTime.substring(0, 19).replace(/-/g, '/')// 将时间字符串截取到秒,并将其中的-换成/
    }else {
      se = cdate.getTime()
    }
    let sde = new Date(se).getTime()  - new Date(sd).getTime()  // 将时间字符转成时间戳
    if(sde > 1){  // 当有差值时,就计算
      let a = (sde/1000 + '').split('.') // 这是获取ms
      if(a.length>1){   
        timeData['ms'] = Math.floor(Number('0.'+a[1]*1000))
      }
      let b = (sde/1000/60 +'').split('.')  // 这是获取s
      if(b.length>1){
        timeData['s'] = Math.floor(Number('0.'+b[1])*60)
      }
      let c = (sde/1000/60/60 +'').split('.')   // 这是获取min
      if(c.length>1){
        timeData['min'] = Math.floor(Number('0.'+c[1])*60)
      }
      let d =(sde/1000/60/60/24 +'').split('.') // 这是获取h
      if(d.length>1){
        timeData['h'] = Math.floor(Number('0.'+d[1])*24)
      }
      timeData['d'] = Number(d[0])  // 这是获取d
    }
  }
  return timeData;
}

返回值:

{
	d:10,
	h:10,
	min:10,
	s:10,
	ms:999
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值