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)];
}