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  
  } 

 

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM