export default { formatDate: { formatCommon(date, fmt='yyyy-MM-dd hh:mm:ss') { // 通用日期格式化 if(!date) {return ''} var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "H+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((date.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; }, formatDateTime: function (val) { // 1487935440000-> 2017-02-24 19:24 if (val === undefined || val === null || val === '') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val), y = date.getFullYear(), m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h = h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); minute = minute < 10 ? ('0' + minute) : minute; return y + '-' + m + '-' + d + ' ' + h + ':' + minute; }, formatTime: function (val) { // 1487935440000-> 19:24 if (val === undefined || val === null || val === '') { return ''; } else { var date = new Date(val), y = date.getFullYear(), m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(), minute = date.getMinutes(); h = h < 10 ? ('0' + h) : h; minute = minute < 10 ? ('0' + minute) : minute; return h + ':' + minute; } }, formatDateTimeSecond: function (val) { // 1487935440000-> 2017-02-24 19:24:00 if (val === undefined || val === null || val === '' || val === 'null') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val), y = date.getFullYear(), m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h = h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); minute = minute < 10 ? ('0' + minute) : minute; var second = date.getSeconds(); second = second < 10 ? ('0' + second) : second; return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second; }, formatDate: function (val) { // 1487935440000-> 2017-02-24 if (val === undefined || val === null || val === '') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? '0' + m : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; return y + '-' + m + '-' + d; }, fmtDateTime: function (val) { // mtG2939939-> 2017-02-24 19:24 if (val === undefined || val === null || val === '') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val); let Y = date.getFullYear() + '-'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()); return Y + M + D + h + m; }, fmtDateTimeSecond: function (val) { // mtG2939939-> 2017-02-24 19:24:00 if (val === undefined || val === null || val === '') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val); let Y = date.getFullYear() + '-'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); return Y + M + D + h + m + s; }, fmtDateTimeSecondEnd: function (val) { // mtG2939939-> 2017-02-24 23:59:59, if (val === undefined || val === null || val === '') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val); let Y = date.getFullYear() + '-'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; let s = '23:59:59' return Y + M + D + s; }, fmtDate: function (val) { // mtG2939939-> 2017-02-24 if (val === undefined || val === null || val === '') { return ''; } if(typeof val=='string' && val.indexOf('-')>-1){ //这里做下容错,假如时间已经是格式化的话,则直接返回 return val; } var date = new Date(val); let Y = date.getFullYear() + '-'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()); return Y + M + D; }, fmtTime: function (val) { // mtG2939939-> 15:30 if (val === undefined || val === null || val === '') { return ''; } else { var date = new Date(val); let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()); return h + m; } }, nowFormatDate: function (_time) { // 当前时间多少小时之后-->*年*月*日 *时*分 var today = new Date(); var times = today.getTime() + _time; // 获取毫秒数 ,1000*60*60*24*day today.setTime(times); // 注意,这行是关键代码 var year = today.getFullYear(); var month = today.getMonth() + 1; var strDate = today.getDate(); var seperator1 = '-'; var seperator2 = ':'; if (month >= 1 && month <= 9) { month = '0' + month; } if (strDate >= 0 && strDate <= 9) { strDate = '0' + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate + ' ' + today.getHours() + seperator2 + today.getMinutes(); return currentdate; }, nextFormatDate: function (_time) { // 当前时间多少小时之后-->*年*月*日 *时*分 var today = new Date(); var times = today.getTime() + _time; // 获取毫秒数 ,1000*60*60*24*day today.setTime(times); // 注意,这行是关键代码 var year = today.getFullYear(); var month = today.getMonth() + 1; var strDate = today.getDate(); var strHours = today.getHours(); var strMinutes = today.getMinutes(); var seperator1 = '-'; var seperator2 = ':'; if (month >= 1 && month <= 9) { month = '0' + month; } if (strDate >= 0 && strDate <= 9) { strDate = '0' + strDate; } if (strHours >= 0 && strHours <= 9) { strHours = '0' + strHours; } if (strMinutes >= 0 && strMinutes <= 9) { strMinutes = '0' + strMinutes; } var currentdate = year + seperator1 + month + seperator1 + strDate + ' ' + strHours + seperator2 + strMinutes + seperator2 + '00'; return currentdate; }, nowFormatSecond: function (_time) { // 当前时间多少小时之后-->*年*月*日 *时*分*秒 var today = new Date(); var times = today.getTime() + _time; // 获取毫秒数 ,1000*60*60*24*day today.setTime(times); // 注意,这行是关键代码 var year = today.getFullYear(); var month = today.getMonth() + 1; var strDate = today.getDate(); var seperator1 = '-'; var seperator2 = ':'; if (month >= 1 && month <= 9) { month = '0' + month; } if (strDate >= 0 && strDate <= 9) { strDate = '0' + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate + ' ' + today.getHours() + seperator2 + today.getMinutes() + seperator2 + today.getSeconds(); return currentdate; }, getDay: function (day) { // 获取前一天、后一天的日期等 var today = new Date(); var times = today.getTime() + 1000 * 60 * 60 * 24 * day; today.setTime(times); // 注意,这行是关键代码 var Year = today.getFullYear(); var month = today.getMonth() + 1; var strDate = today.getDate(); if (month >= 1 && month <= 9) { month = '0' + month; } if (strDate >= 0 && strDate <= 9) { strDate = '0' + strDate; } return Year + '-' + month + '-' + strDate; }, formatSeconds: function (value) { //把秒数转化成 *时*分*秒 var seconds = parseInt(value); // 秒 var minutes = 0; // 分 var hours = 0; // 小时 if (seconds > 60) { minutes = parseInt(seconds / 60); seconds = parseInt(seconds % 60); if (minutes > 60) { hours = parseInt(minutes / 60); minutes = parseInt(minutes % 60); } } var result = '' + parseInt(seconds) + '秒'; if (minutes > 0) { result = '' + parseInt(minutes) + '分' + result; } if (hours > 0) { result = '' + parseInt(hours) + '小时' + result; } return result; }, formatSecondsTime: function (value) { //把秒数转化成 00:01:02 let second = parseInt(value), // 秒 minute = 0, // 分 hour = 0, // 小时 result = ''; if (value === null || value === '') { return '00:00:00'; } if (second > 60) { minute = (second - (second % 60)) / 60; second = second % 60; if (minute > 60) { hour = (minute - (minute % 60)) / 60; minute = minute % 60; result = (hour >= 10 ? hour : '0' + hour) + ':' + (minute >= 10 ? minute : '0' + minute) + ':' + (second >= 10 ? second : '0' + second); } else { result = '00:' + (minute >= 10 ? minute : '0' + minute) + ':' + (second >= 10 ? second : '0' + second); } } else { result = '00:00:' + (second >= 10 ? second : '0' + second); } return result; }, formatDuration: function (val) { // 毫秒转换为 时分秒显示,例如:112:12:23(112小时12分钟23秒) if (val === undefined || val === null || val === '') { return ''; } let retArr = []; let second = val % 60; // 秒 retArr.unshift(('0' + second).slice(-2)); if (val - second > 0) { let minute = (val - second) / 60 % 60; retArr.unshift(('0' + minute).slice(-2)); if (val - second - minute * 60 > 0) { let hour = (val - second - minute * 60) / 60 / 60; if (hour < 10) { retArr.unshift(('0' + hour)); } else { retArr.unshift(('' + hour)); } } else { retArr.unshift('00'); } } else { retArr.unshift('00'); retArr.unshift('00'); } return retArr.join(':'); }, getNowFormatDate: function () { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; return currentdate; }, getMonthFirstDay: function () { // 获取当月第一天 var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = '01'; if (month >= 1 && month <= 9) { month = "0" + month; } var currentdate = year + seperator1 + month + seperator1 + strDate; return currentdate; }, comperNowDate: function (datastr) { if (!datastr) { return; } var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); var currentdatestr = datastr; var datastrArray = datastr.split('-'); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; if (datastr === currentdate) { currentdatestr = '今日'; } else if (datastrArray[0] === year && datastrArray[1] === month && parseInt(datastrArray[2]) + 1 === parseInt(strDate)) { currentdatestr = '昨日'; } else if (datastrArray[0] === year && datastrArray[1] === month && parseInt(datastrArray[2]) - 1 === parseInt(strDate)) { currentdatestr = '明日'; } return currentdatestr; }, isForwardDatetime: function (val) { // 是否为将来时间,2019-10-11 12:00:01 比当前时间超前返回true,反之返回false const nowDate = new Date(); const nowTimes = nowDate.getTime(); const valDate = new Date(val); const valTimes = valDate.getTime(); if (nowTimes >= valTimes) { return false; } return true; }, }};
初始化时间范围
/** * [getMonthDaysTimeRange 初始化30天的选择范围] * @return {[Array]} [时间范围数组] */export function getMonthDaysTimeRange () { let now = new Date(); return [new Date(now.setHours(0, 0, 0, 0) - (30 * 24 * 60 * 60 * 1000)), new Date(now.setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1)];}/** * [getSevenDaysTimeRange 初始化七天的选择范围 20**-**-** 00:00:00 到 20**-**-** 23:59:59] * @return {[Array]} [时间范围数组] */export function getSevenDaysTimeRange () { let now = new Date(); return [new Date(now.setHours(0, 0, 0, 0) - 604800000), new Date(now.setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1)];}/** * [getTodayTimeRange 初始化一天的选择范围 20**-**-** 00:00:00 到 20**-**-** 23:59:59] * @return {[Array]} [时间范围数组] */export function getTodayTimeRange () { let now = new Date(); return [new Date(now.setHours(0, 0, 0, 0)), new Date(now.setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1)];}