js 关于时间方面的通用函数(时间格式化,分钟数转换为小时+分钟,计算天数差的函数)

Posted 王大师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 关于时间方面的通用函数(时间格式化,分钟数转换为小时+分钟,计算天数差的函数)相关的知识,希望对你有一定的参考价值。

项目中经常需要把数据转换,把经常用到的做过总结:

一、时间格式化

export function formatDate (date, fmt) {
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + ‘‘).substr(4 - RegExp.$1.length))
  }
  let o = {
    ‘M+‘: date.getMonth() + 1,
    ‘d+‘: date.getDate(),
    ‘h+‘: date.getHours(),
    ‘m+‘: date.getMinutes(),
    ‘s+‘: date.getSeconds()
  }
  for (let k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      let str = o[k] + ‘‘
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : (‘00‘ + str).substr(str.length))
    }
  }
  return fmt
}

 

二、分钟数转换为小时+分钟

export function changeHourMinutestr (str) {
  let hours = Math.floor(str / 60).toString()
  let minutes = (str % 60).toString()
  if (str !== ‘0‘ && str !== ‘‘ && str !== null) {
    return hours + ‘时‘ + (minutes.length < 2 ? ‘0‘ + minutes : minutes) + ‘分‘
  } else {
    return ‘‘
  }
}

 

三、计算天数差的函数

 export function  getDateDiff(start,  end){    
    if (!end) {
      return ‘借阅中‘
    }
    let  aDate,  oDate1,  oDate2,  iDays  
    aDate  =  start.split("-")  
    oDate1  =  new  Date(aDate[0]  +  ‘/‘  +  aDate[1]  +  ‘/‘  +  aDate[2])    //转换为2016/12/18格式  
    aDate  =  end.split("-")  
    oDate2  =  new  Date(aDate[0]  +  ‘/‘  +  aDate[1]  +  ‘/‘  +  aDate[2])  
    iDays  =  Math.ceil(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
    return  iDays  
  } 

 

  

 

以上是关于js 关于时间方面的通用函数(时间格式化,分钟数转换为小时+分钟,计算天数差的函数)的主要内容,如果未能解决你的问题,请参考以下文章

js怎么把时间戳转换成几分钟几小时前

jquery里,怎么格式化时间

将含有timestamp的json对象的毫秒数转成日期格式 ssh+jqery+json中timestamp数据问题

如何通过格式化将双精度数转两位小数,然后使用数字?

Spark - 30 分钟通用窗口化

moment.js 格式化显示时间差