码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-11-15 18:21:48      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:gets   replace   port   oda   string   math   split   javascrip   end   

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

一、时间格式化

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 关于时间方面的通用函数(时间格式化,分钟数转换为小时+分钟,计算天数差的函数)

标签:gets   replace   port   oda   string   math   split   javascrip   end   

原文地址:https://www.cnblogs.com/wangdashi/p/9964911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!