|
|
const formatTime = date => {
|
|
|
const year = date.getFullYear()
|
|
|
const month = date.getMonth() + 1
|
|
|
const day = date.getDate()
|
|
|
const hour = date.getHours()
|
|
|
const minute = date.getMinutes()
|
|
|
const second = date.getSeconds()
|
|
|
|
|
|
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
|
|
}
|
|
|
//开始年份
|
|
|
const yearStart = 1978;
|
|
|
//结束年份
|
|
|
const yearEnd = 2100;
|
|
|
|
|
|
const formatNumber = n => {
|
|
|
n = n.toString()
|
|
|
return n[1] ? n : '0' + n
|
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
|
formatTime: formatTime
|
|
|
}
|
|
|
|
|
|
|
|
|
function withData(param) {
|
|
|
return param < 10 ? '0' + param : '' + param;
|
|
|
}
|
|
|
|
|
|
function getLoopArray(start, end) {
|
|
|
var start = start || 0;
|
|
|
var end = end || 1;
|
|
|
var array = [];
|
|
|
for (var i = start; i <= end; i++) {
|
|
|
array.push(withData(i));
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
|
|
|
function getMonthDay(year, month) {
|
|
|
var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0),
|
|
|
array = null;
|
|
|
console.log(year + '--' + month)
|
|
|
switch (month) {
|
|
|
case '01':
|
|
|
case '03':
|
|
|
case '05':
|
|
|
case '07':
|
|
|
case '08':
|
|
|
case '10':
|
|
|
case '12':
|
|
|
case '1':
|
|
|
case '3':
|
|
|
case '5':
|
|
|
case '7':
|
|
|
case '8':
|
|
|
array = getLoopArray(1, 31)
|
|
|
break;
|
|
|
case '4':
|
|
|
case '6':
|
|
|
case '9':
|
|
|
case '04':
|
|
|
case '06':
|
|
|
case '09':
|
|
|
case '11':
|
|
|
array = getLoopArray(1, 30)
|
|
|
break;
|
|
|
case '02':
|
|
|
case '2':
|
|
|
array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28)
|
|
|
break;
|
|
|
default:
|
|
|
//array = '月份格式不正确,请重新输入!'
|
|
|
array = getLoopArray(1, 30)
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
|
|
|
function getNewDateArry() {
|
|
|
// 当前时间的处理
|
|
|
var newDate = new Date();
|
|
|
var year = withData(newDate.getFullYear()),
|
|
|
mont = withData(newDate.getMonth() + 1),
|
|
|
date = withData(newDate.getDate()),
|
|
|
hour = withData(newDate.getHours()),
|
|
|
minu = withData(newDate.getMinutes()),
|
|
|
seco = withData(newDate.getSeconds());
|
|
|
|
|
|
return [year, mont, date, hour, minu, seco];
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 返回传入时间对应的值
|
|
|
* 对应的值显示年月日时分秒(时分秒不为00:00:00)
|
|
|
*/
|
|
|
function dateTimePickerNowDate(date, startYear, endYear) {
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
var defaultDate;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
dateTimeArray[4] = getLoopArray(0, 59);
|
|
|
dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
* 返回传入时间对应的值 分钟只显示 00和30
|
|
|
* 对应的值显示年月日时分秒(时分秒不为00:00:00)
|
|
|
*/
|
|
|
function dateTimePickerNowDate2(date, startYear, endYear) {
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
var defaultDate;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
dateTimeArray[4] = ["00", "30"];
|
|
|
dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
* 返回传入时间对应的值
|
|
|
* 对应的值显示年月日时分秒(时分秒为00:00:00)
|
|
|
*/
|
|
|
function dateTimePicker(date, startYear, endYear) {
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
var defaultDate;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
|
|
|
defaultDate[3] = '00';
|
|
|
defaultDate[4] = '00';
|
|
|
defaultDate[5] = '00';
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
dateTimeArray[4] = getLoopArray(0, 59);
|
|
|
dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function dateTimePicker2(date, startYear, endYear) {
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
var defaultDate;
|
|
|
// debugger;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
|
|
|
// defaultDate[3] = '00';
|
|
|
// defaultDate[4] = '00';
|
|
|
// defaultDate[5] = '00';
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
//dateTimeArray[4] = ['00'];
|
|
|
dateTimeArray[4] = getLoopArray(0, 59);
|
|
|
dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function dateTimePickerYMDHM(date, startYear, endYear) {
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
var defaultDate;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
|
|
|
defaultDate[3] = '00';
|
|
|
defaultDate[4] = '00';
|
|
|
defaultDate[5] = '00';
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
dateTimeArray[4] = getLoopArray(0, 59);
|
|
|
// dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function dateTimePickerYMDHM2(date, startYear, endYear) { //分钟为00和30
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
var defaultDate;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
|
|
|
defaultDate[3] = '00';
|
|
|
defaultDate[4] = '00';
|
|
|
defaultDate[5] = '00';
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
dateTimeArray[4] = ["00", "30"];
|
|
|
// dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function dateTimePickerYMD(date, startYear, endYear) {
|
|
|
// 返回默认显示的数组和联动数组的声明
|
|
|
var dateTime = [],
|
|
|
dateTimeArray = [
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[],
|
|
|
[]
|
|
|
];
|
|
|
var start = startYear || yearStart;
|
|
|
var end = endYear || yearEnd;
|
|
|
// 默认开始显示数据
|
|
|
var defaultDate;
|
|
|
if (date != null && date != '') {
|
|
|
// if (date.indexOf('T')) {
|
|
|
// date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
// }
|
|
|
date = formatDateYMDHMS(date); //先格式化一下时间
|
|
|
defaultDate = [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')];
|
|
|
} else {
|
|
|
defaultDate = getNewDateArry();
|
|
|
}
|
|
|
// var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
|
|
|
|
|
|
// 处理联动列表数据
|
|
|
/*年月日 时分秒*/
|
|
|
dateTimeArray[0] = getLoopArray(start, end);
|
|
|
dateTimeArray[1] = getLoopArray(1, 12);
|
|
|
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
|
|
|
// dateTimeArray[3] = getLoopArray(0, 23);
|
|
|
// dateTimeArray[4] = getLoopArray(0, 59);
|
|
|
// dateTimeArray[5] = getLoopArray(0, 59);
|
|
|
|
|
|
dateTimeArray.forEach((current, index) => {
|
|
|
dateTime.push(current.indexOf(defaultDate[index]));
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
dateTimeArray: dateTimeArray,
|
|
|
dateTime: dateTime
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 时间格式化 2017-01-01 01:01:01
|
|
|
* @param val
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
function formatDateYMDHMS(val) { // model -> view,在更新 `<input>` 元素之前格式化值
|
|
|
if ((val != null || val == '') && typeof val == 'string') {
|
|
|
if (val.indexOf('T')) {
|
|
|
val = val.replace('T', ' '); //原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
}
|
|
|
val = val.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
var value = new Date(val);
|
|
|
//console.log(val);
|
|
|
var fmt = "yyyy-MM-dd HH:mm:ss";
|
|
|
var o = {
|
|
|
"M+": value.getMonth() + 1, //月份
|
|
|
"d+": value.getDate(), //日
|
|
|
"H+": value.getHours(), //小时
|
|
|
//"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时
|
|
|
"m+": value.getMinutes(), //分
|
|
|
"s+": value.getSeconds() //秒
|
|
|
//"S": val.getMilliseconds() //毫秒
|
|
|
//"q+": Math.floor((val.getMonth() + 3) / 3) //季度
|
|
|
};
|
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.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;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 时间格式化 2017-01-01 01:01:01
|
|
|
* @param val
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
function formatDateYMDHM(val) { // model -> view,在更新 `<input>` 元素之前格式化值
|
|
|
if (val == "undefined" || typeof val == "undefined" || val == "") {
|
|
|
val = new Date();
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ((val != null || val == '') && typeof val == 'string') {
|
|
|
if (val.indexOf('T')) {
|
|
|
val = val.replace('T', ' '); //原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
}
|
|
|
val = val.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
var value = new Date(val);
|
|
|
//console.log(val);
|
|
|
var fmt = "yyyy-MM-dd HH:mm";
|
|
|
var o = {
|
|
|
"M+": value.getMonth() + 1, //月份
|
|
|
"d+": value.getDate(), //日
|
|
|
"H+": value.getHours(), //小时
|
|
|
//"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时
|
|
|
"m+": value.getMinutes(), //分
|
|
|
// "s+": value.getSeconds() //秒
|
|
|
//"S": val.getMilliseconds() //毫秒
|
|
|
//"q+": Math.floor((val.getMonth() + 3) / 3) //季度
|
|
|
};
|
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.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;
|
|
|
}
|
|
|
|
|
|
// 年月日
|
|
|
function formatDateYMD(val) { // model -> view,在更新 `<input>` 元素之前格式化值
|
|
|
if (val == null || val == '') {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
if ((val != null || val == '') && typeof val == 'string') {
|
|
|
if (val.indexOf('T')) {
|
|
|
val = val.replace('T', ' '); //原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
}
|
|
|
val = val.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
var value = new Date(val);
|
|
|
//console.log(val);
|
|
|
var fmt = "yyyy-MM-dd";
|
|
|
var o = {
|
|
|
"M+": value.getMonth() + 1, //月份
|
|
|
"d+": value.getDate(), //日
|
|
|
// "H+": value.getHours(), //小时
|
|
|
//"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时
|
|
|
// "m+": value.getMinutes(), //分
|
|
|
// "s+": value.getSeconds() //秒
|
|
|
//"S": val.getMilliseconds() //毫秒
|
|
|
//"q+": Math.floor((val.getMonth() + 3) / 3) //季度
|
|
|
};
|
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.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;
|
|
|
}
|
|
|
/**
|
|
|
* 时间格式化 mm:ss
|
|
|
* @param val
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
function formatDateMS(val) {
|
|
|
if ((val != null || val == '') && typeof val == 'string') {
|
|
|
if (val.indexOf('T')) {
|
|
|
val = val.replace('T', ' '); //原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
}
|
|
|
val = val.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
var value = new Date(val);
|
|
|
var fmt = "HH:mm";
|
|
|
var o = {
|
|
|
"H+": value.getHours(), //小时
|
|
|
"m+": value.getMinutes(), //分
|
|
|
};
|
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.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;
|
|
|
}
|
|
|
/**
|
|
|
格式化为苹果手机能认的时间格式yyyy/MM/dd HH:mm:ss
|
|
|
*/
|
|
|
function formatDateYMDHMS_TO_APPLE(val) { // model -> view,在更新 `<input>` 元素之前格式化值
|
|
|
if (val != null || val == '') {
|
|
|
val = val + "";
|
|
|
if (val.indexOf('T')) {
|
|
|
val = val.replace('T', ' '); //原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
}
|
|
|
val = val.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
var value = new Date(val);
|
|
|
//console.log(val);
|
|
|
var fmt = "yyyy/MM/dd HH:mm:ss";
|
|
|
var o = {
|
|
|
"M+": value.getMonth() + 1, //月份
|
|
|
"d+": value.getDate(), //日
|
|
|
"H+": value.getHours(), //小时
|
|
|
//"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时
|
|
|
"m+": value.getMinutes(), //分
|
|
|
"s+": value.getSeconds() //秒
|
|
|
//"S": val.getMilliseconds() //毫秒
|
|
|
//"q+": Math.floor((val.getMonth() + 3) / 3) //季度
|
|
|
};
|
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.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;
|
|
|
}
|
|
|
/**
|
|
|
获取当前时间所在年
|
|
|
*/
|
|
|
function getNowYear() {
|
|
|
return new Date().getFullYear();
|
|
|
}
|
|
|
/**
|
|
|
获取当前时间所在月
|
|
|
*/
|
|
|
function getNowMonth() {
|
|
|
return new Date().getMonth() + 1;
|
|
|
}
|
|
|
/**
|
|
|
获取当前时间的年月
|
|
|
*/
|
|
|
function getNowYearMonth() {
|
|
|
var date = new Date();
|
|
|
var month = date.getMonth() + 1;
|
|
|
if (month < 10) {
|
|
|
month = "0" + month;
|
|
|
}
|
|
|
return date.getFullYear() + '-' + month;
|
|
|
}
|
|
|
/**
|
|
|
获取当前时间的年月日
|
|
|
*/
|
|
|
function getNowYearMonthDay() {
|
|
|
var date = new Date();
|
|
|
var month = date.getMonth() + 1;
|
|
|
if (month < 10) {
|
|
|
month = "0" + month;
|
|
|
}
|
|
|
return date.getFullYear() + '-' + month + '-' + date.getDate();
|
|
|
}
|
|
|
/**
|
|
|
获取时间的上午下午格式
|
|
|
*/
|
|
|
function formateTimeAMPM(date) {
|
|
|
if (date == null || date == '') {
|
|
|
return "";
|
|
|
}
|
|
|
if (typeof date == 'string') {
|
|
|
date = date.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
var d = new Date(date);
|
|
|
var hour = d.getHours();
|
|
|
if (hour <= 12) {
|
|
|
return 'AM ' + (hour + 1) + ":" + d.getMinutes();
|
|
|
} else if (hour > 12) {
|
|
|
return 'PM ' + (hour + 1) + ":" + d.getMinutes();
|
|
|
} else {
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function getTodayYYYYMMDD() {
|
|
|
var date = new Date();
|
|
|
return date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
|
|
|
}
|
|
|
|
|
|
function formateMonthDay(dateTime) {
|
|
|
// debugger;
|
|
|
var dt = dateTime.split("-");
|
|
|
return (dt[1] * 1) + "月" + (dt[2] * 1) + "日";
|
|
|
|
|
|
|
|
|
}
|
|
|
// 时间对比
|
|
|
function subTimes(_val1, _val2) {
|
|
|
var start_date = new Date(_val1.replace(/-/g, "/"));
|
|
|
var end_date = new Date(_val2.replace(/-/g, "/"));
|
|
|
var days = end_date.getTime() - start_date.getTime();
|
|
|
return days / (1000 * 60); //返回分钟数
|
|
|
}
|
|
|
// 时间对比
|
|
|
|
|
|
|
|
|
function subDays(sDate1) { //sDate1和sDate2是2017-9-25格式
|
|
|
sDate1 = formatDateYMD(sDate1);
|
|
|
var sDate2 = getTodayYYYYMMDD();
|
|
|
var aDate, oDate1, oDate2, iDays
|
|
|
aDate = sDate1.split("-")
|
|
|
oDate1 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]) //转换为9-25-2017格式
|
|
|
aDate = sDate2.split("-")
|
|
|
oDate2 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0])
|
|
|
iDays = parseInt((oDate2 - oDate1) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
|
|
|
return iDays
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function subDays1(_val1) {
|
|
|
var start_date = new Date(_val1.replace(/-/g, "/"))
|
|
|
|
|
|
// console.log(start_date.toLocaleDateString()+"pppp");
|
|
|
var end_date = new Date();
|
|
|
|
|
|
// var days = end_date - start_date;
|
|
|
var days = parseInt((end_date.getTime() - start_date.getTime()) / 1000 / 3600 / 24)
|
|
|
console.log("start_date:" + start_date);
|
|
|
console.log("end_date:" + end_date);
|
|
|
console.log(days);
|
|
|
var day = parseInt(days);
|
|
|
console.log(day + "uuuuuu");
|
|
|
return day;
|
|
|
}
|
|
|
/**
|
|
|
* 获取今天、明天、后天
|
|
|
*/
|
|
|
function getDataName(dateTemp) {
|
|
|
var timeStr = "";
|
|
|
if (isNotEmptyCheck(dateTemp)) {
|
|
|
|
|
|
var str = formatDateYMD(dateTemp);
|
|
|
|
|
|
var date = str.split(' ')[0];
|
|
|
if (getFutureDateYMD(0) == date) {
|
|
|
timeStr = "(今天)"
|
|
|
} else if (getFutureDateYMD(1) == date) {
|
|
|
timeStr = "(明天)"
|
|
|
} else if (getFutureDateYMD(2) == date) {
|
|
|
timeStr = "(后天)"
|
|
|
}
|
|
|
}
|
|
|
return timeStr;
|
|
|
}
|
|
|
/**
|
|
|
* 如果是null '' 'null' 'undefined'
|
|
|
* @param item
|
|
|
* @returns
|
|
|
*/
|
|
|
function isEmptyCheck(value) {
|
|
|
if (value == null || value === '' || value == 'null' || typeof (value) == "undefined") {
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
/**
|
|
|
* 如果不是是null '' 'null' 'undefined'
|
|
|
* @param item
|
|
|
* @returns
|
|
|
*/
|
|
|
function isNotEmptyCheck(value) {
|
|
|
return !isEmptyCheck(value);
|
|
|
}
|
|
|
/**
|
|
|
* 获取未来第几天,
|
|
|
* 1、传入正数,返回未来几天
|
|
|
* 2、传入负数,返回过去几天
|
|
|
*/
|
|
|
function getFutureDateYMD(dayNum) {
|
|
|
// 开始时间
|
|
|
var date = new Date();
|
|
|
date.setDate(date.getDate() + dayNum);
|
|
|
var prevYear = date.getFullYear();
|
|
|
var prevMonth = date.getMonth() + 1;
|
|
|
var prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|
|
return prevYear + "-" + (prevMonth >= 10 ? prevMonth : ('0' + prevMonth)) + "-" + prevDay;
|
|
|
}
|
|
|
|
|
|
function getDateYMDHM() {
|
|
|
// 开始时间
|
|
|
let date = new Date();
|
|
|
let prevYear = date.getFullYear();
|
|
|
let prevMonth = date.getMonth() + 1;
|
|
|
let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|
|
let hour = date.getHours();
|
|
|
let minute = date.getMinutes();
|
|
|
// let second = date.getSeconds();
|
|
|
return prevYear + "-" + (prevMonth >= 10 ? prevMonth : ('0' + prevMonth)) + "-" + prevDay + " " + hour + ":" + minute;
|
|
|
}
|
|
|
|
|
|
// function getDateYMDHM() {
|
|
|
// // 开始时间
|
|
|
// let date = new Date();
|
|
|
// let prevYear = date.getFullYear();
|
|
|
// let prevMonth = date.getMonth() + 1;
|
|
|
// let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|
|
// let hour = date.getHours();
|
|
|
// let minute = date.getMinutes();
|
|
|
// // let second = date.getSeconds();
|
|
|
// return prevYear + "-" + (prevMonth >= 10 ? prevMonth : ('0' + prevMonth)) + "-" + prevDay + " " + hour + ":" + minute;
|
|
|
// }
|
|
|
|
|
|
function getDateYMD() {
|
|
|
// 开始时间
|
|
|
let date = new Date();
|
|
|
let prevYear = date.getFullYear();
|
|
|
let prevMonth = date.getMonth() + 1;
|
|
|
let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|
|
// let second = date.getSeconds();
|
|
|
return prevYear + "-" + (prevMonth >= 10 ? prevMonth : ('0' + prevMonth)) + "-" + prevDay;
|
|
|
}
|
|
|
|
|
|
function timeAfter(timestamp) {
|
|
|
var time = Math.round((new Date(timestamp).getTime() - new Date().getTime()) / 1000);
|
|
|
let h = parseInt(time / 60 / 60 % 24)
|
|
|
let m = parseInt(time / 60 % 60)
|
|
|
let s = parseInt(time % 60)
|
|
|
let str = "";
|
|
|
if (h == 0 && m != 0) {
|
|
|
str = `${m}分后`
|
|
|
} else if (h != 0 && m != 0) {
|
|
|
str = `${h}时${m}分后`
|
|
|
} else if (h == 0 && m == 0) {
|
|
|
str = `${s}秒后`
|
|
|
}
|
|
|
return str
|
|
|
}
|
|
|
|
|
|
function timeAfterOrder(timestamp, timestamp2) {
|
|
|
|
|
|
|
|
|
console.log(formatDateYMDHMS(timestamp))
|
|
|
console.log(formatDateYMDHMS(timestamp2))
|
|
|
// console.log("====");
|
|
|
var time = ""
|
|
|
if (new Date(timestamp).getTime() >= new Date(timestamp2).getTime()) {
|
|
|
time = Math.round((new Date(timestamp).getTime() - new Date(timestamp2).getTime()) / 1000);
|
|
|
} else {
|
|
|
time = Math.round((new Date(timestamp2).getTime() - new Date(timestamp).getTime()) / 1000);
|
|
|
}
|
|
|
let d = parseInt(time / 60 / 60 / 24)
|
|
|
let h = parseInt(time / 60 / 60 % 24)
|
|
|
let m = parseInt(time / 60 % 60)
|
|
|
let s = parseInt(time % 60)
|
|
|
let str = "";
|
|
|
if (d != 0) {
|
|
|
str = `${d}天`
|
|
|
} else if (d == 0 && h != 0) {
|
|
|
str = `${h}小时`
|
|
|
} else if (d == 0 && h == 0 && m != 0) {
|
|
|
str = `${m}分`
|
|
|
}else{
|
|
|
str = `1分内`
|
|
|
}
|
|
|
if(str.indexOf("NAN")!=-1 || str.indexOf("Nan")!=-1 || str.indexOf("nan")!=-1){
|
|
|
return '期'
|
|
|
}else{
|
|
|
return str
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getHour() {
|
|
|
// 开始时间
|
|
|
let date = new Date();
|
|
|
let hour = date.getHours();
|
|
|
// let second = date.getSeconds();
|
|
|
return hour;
|
|
|
}
|
|
|
|
|
|
function timeShowXXX(val) {
|
|
|
if (isEmptyCheck(val)) {
|
|
|
return '';
|
|
|
}
|
|
|
|
|
|
if (typeof val == 'string') {
|
|
|
val = val + "";
|
|
|
if (val.indexOf('T')) {
|
|
|
val = val.replace('T', ' '); //原来L端可能返回的时间格式有带T的格式,处理一下
|
|
|
}
|
|
|
val = val.replace("-", "/").replace("-", "/");
|
|
|
}
|
|
|
|
|
|
var date = new Date();
|
|
|
var value = new Date(val);
|
|
|
|
|
|
const year0 = date.getFullYear()
|
|
|
const month0 = date.getMonth() + 1
|
|
|
const day0 = date.getDate()
|
|
|
const hour0 = date.getHours()
|
|
|
const minute0 = date.getMinutes()
|
|
|
// const second = date.getSeconds()
|
|
|
|
|
|
const year1 = value.getFullYear()
|
|
|
const month1 = value.getMonth() + 1
|
|
|
const day1 = value.getDate()
|
|
|
const hour1 = value.getHours()
|
|
|
const minute1 = value.getMinutes()
|
|
|
// const second = value.getSeconds()
|
|
|
|
|
|
if (year0 == year1 && month0 == month1 && day0 == day1) {
|
|
|
return hour1 + ':' + (minute1 >= 10 ? minute1 : '0' + minute1);
|
|
|
}
|
|
|
|
|
|
|
|
|
let d = new Date(val).setHours(0, 0, 0, 0);
|
|
|
let today = new Date().setHours(0, 0, 0, 0);
|
|
|
|
|
|
if (d - today == -86400000) {
|
|
|
return '昨天';
|
|
|
}
|
|
|
|
|
|
if (year0 == year1) {
|
|
|
return month1 + '月' + day1 + '日';
|
|
|
}
|
|
|
return (year1 + '').slice(2) + '年' + month1 + '月' + day1 + '日';
|
|
|
|
|
|
|
|
|
return hour;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 处理工单状态
|
|
|
*/
|
|
|
export function userApplyOrderStatusArray() {
|
|
|
// let orderStatus = [
|
|
|
// { id: "10", name: "审核中", value: "10", text: "审核中" },
|
|
|
// { id: "20", name: "待面试", value: "20", text: "待面试" },
|
|
|
// { id: "30", name: "待入职", value: "30", text: "待入职" },
|
|
|
// { id: "40", name: "在职中", value: "40", text: "在职中" },
|
|
|
// { id: "50", name: "待离职", value: "50", text: "待离职" },
|
|
|
// { id: "60", name: "已完成", value: "60", text: "已完成" },
|
|
|
// ];
|
|
|
let orderStatus = [{
|
|
|
id: "10",
|
|
|
name: "待审核",
|
|
|
value: "10",
|
|
|
text: "待审核",
|
|
|
num: 0,
|
|
|
},
|
|
|
{
|
|
|
id: "20",
|
|
|
name: "待接待",
|
|
|
value: "20",
|
|
|
text: "待接待",
|
|
|
num: 0,
|
|
|
},
|
|
|
{
|
|
|
id: "21",
|
|
|
name: "审核未通过",
|
|
|
value: "21",
|
|
|
text: "审核未通过",
|
|
|
num: 0,
|
|
|
},
|
|
|
{
|
|
|
id: "25",
|
|
|
name: "待面试",
|
|
|
value: "25",
|
|
|
text: "待面试",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "26",
|
|
|
name: "未接到",
|
|
|
value: "26",
|
|
|
text: "未接到",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "30",
|
|
|
name: "待入职",
|
|
|
value: "30",
|
|
|
text: "待入职",
|
|
|
num: 0,
|
|
|
},
|
|
|
{
|
|
|
id: "35",
|
|
|
name: "面试未通过",
|
|
|
value: "35",
|
|
|
text: "面试未通过",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "40",
|
|
|
name: "在职中",
|
|
|
value: "40",
|
|
|
text: "在职中",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "45",
|
|
|
name: "通过未入职",
|
|
|
value: "45",
|
|
|
text: "通过未入职",
|
|
|
num: 0,
|
|
|
}, {
|
|
|
id: "48",
|
|
|
name: "约离职",
|
|
|
value: "48",
|
|
|
text: "约离职",
|
|
|
num: 0,
|
|
|
},
|
|
|
{
|
|
|
id: "50",
|
|
|
name: "已离职",
|
|
|
value: "50",
|
|
|
text: "已完成",
|
|
|
num: 0
|
|
|
},
|
|
|
// { id: "60", name: "已完成", value: "60", text: "已完成", num: 0 }
|
|
|
];
|
|
|
return orderStatus;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据工单状态ID获取名称
|
|
|
*/
|
|
|
export function getUserApplyOrderStatusById(id) {
|
|
|
let str = "";
|
|
|
let array = userApplyOrderStatusArray();
|
|
|
array.forEach((item) => {
|
|
|
if (item.id == id) {
|
|
|
str = item.name;
|
|
|
}
|
|
|
});
|
|
|
return str;
|
|
|
}
|
|
|
// 获取最近count天
|
|
|
function timeForMat(count) {
|
|
|
// 拼接时间
|
|
|
let time1 = new Date()
|
|
|
time1.setTime(time1.getTime())
|
|
|
let Y1 = time1.getFullYear()
|
|
|
let M1 = ((time1.getMonth() + 1) > 10 ? (time1.getMonth() + 1) : '0' + (time1.getMonth() + 1))
|
|
|
let D1 = (time1.getDate() > 10 ? time1.getDate() : '0' + time1.getDate())
|
|
|
let timer1 = Y1 + '-' + M1 + '-' + D1 // 当前时间
|
|
|
|
|
|
let count1 = count - 1
|
|
|
|
|
|
let time2 = new Date()
|
|
|
time2.setTime(time2.getTime() - (24 * 60 * 60 * 1000 * count1))
|
|
|
let Y2 = time2.getFullYear()
|
|
|
let M2 = ((time2.getMonth() + 1) > 10 ? (time2.getMonth() + 1) : '0' + (time2.getMonth() + 1))
|
|
|
let D2 = (time2.getDate() > 10 ? time2.getDate() : '0' + time2.getDate())
|
|
|
let timer2 = Y2 + '-' + M2 + '-' + D2 // 之前的7天或者30天
|
|
|
return {
|
|
|
t1: timer1,
|
|
|
t2: timer2
|
|
|
}
|
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
|
getFutureDateYMD: getFutureDateYMD,
|
|
|
isEmptyCheck: isEmptyCheck,
|
|
|
isNotEmptyCheck: isNotEmptyCheck,
|
|
|
dateTimePickerNowDate: dateTimePickerNowDate,
|
|
|
dateTimePickerNowDate2: dateTimePickerNowDate2,
|
|
|
dateTimePicker: dateTimePicker,
|
|
|
dateTimePicker2: dateTimePicker2,
|
|
|
dateTimePickerYMDHM: dateTimePickerYMDHM,
|
|
|
dateTimePickerYMDHM2: dateTimePickerYMDHM2,
|
|
|
dateTimePickerYMD: dateTimePickerYMD,
|
|
|
getMonthDay: getMonthDay,
|
|
|
formatDateYMDHMS: formatDateYMDHMS,
|
|
|
formatDateYMDHM: formatDateYMDHM,
|
|
|
formatDateYMD: formatDateYMD,
|
|
|
formatDateMS: formatDateMS,
|
|
|
formatDateYMDHMS_TO_APPLE: formatDateYMDHMS_TO_APPLE,
|
|
|
getNowYear: getNowYear,
|
|
|
getNowMonth: getNowMonth,
|
|
|
getNowYearMonth: getNowYearMonth,
|
|
|
getNowYearMonthDay: getNowYearMonthDay,
|
|
|
formateTimeAMPM: formateTimeAMPM,
|
|
|
getTodayYYYYMMDD: getTodayYYYYMMDD,
|
|
|
formateMonthDay: formateMonthDay,
|
|
|
subTimes: subTimes,
|
|
|
subDays: subDays,
|
|
|
getDataName: getDataName,
|
|
|
getDateYMDHM: getDateYMDHM,
|
|
|
getDateYMD: getDateYMD,
|
|
|
getHour: getHour,
|
|
|
timeShowXXX: timeShowXXX,
|
|
|
timeAfter: timeAfter,
|
|
|
getUserApplyOrderStatusById,
|
|
|
timeForMat: timeForMat,
|
|
|
timeAfterOrder: timeAfterOrder
|
|
|
} |