项目中经常需要把数据转换,把经常用到的做过总结:
一、时间格式化
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 关于时间方面的通用函数(时间格式化,分钟数转换为小时+分钟,计算天数差的函数)
原文地址:https://www.cnblogs.com/wangdashi/p/9964911.html