You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bocai_supplyChain_uni/utils/dateTimePicker.js

135 lines
3.6 KiB
JavaScript

8 months ago
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) {
year = year.replace("年", "");
month = month.replace("月", "");
var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0),
array = null;
switch (month) {
case "01":
case "03":
case "05":
case "07":
case "08":
case "10":
case "12":
array = getLoopArray(1, 31);
break;
case "04":
case "06":
case "09":
case "11":
array = getLoopArray(1, 30);
break;
case "02":
array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28);
break;
default:
array = "月份格式不正确,请重新输入!";
}
return array;
}
function getNewDateArry() {
//如果dateTimePicker的date不可能为空此处可以省略
// 当前时间的处理
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];
}
function getcurrent(date) {
// wx.getSystemInfo({
// success: function (res) {
// console.log(res);
// if(res.platform == "devtools"){
// }
// }
// })
// date.replace(/\-/g,"/")
// console.log(date.replace(/\-/g,"/"))
var d = new Date(date.replace(/\-/g, "/"));
var year = withData(d.getFullYear()),
month = withData(d.getMonth() + 1),
dat = withData(d.getDate()),
hour = withData(d.getHours()),
minu = withData(d.getMinutes()),
seco = withData(d.getSeconds());
return [year, month, dat, hour, minu];
}
function dateTimePicker(startYear, endYear, date, isNoTime) {
var datearr = [];
// console.log(date);
// console.log("获取date 74 ");
// console.log(getcurrent(date));
if (date) {
datearr = getcurrent(date);
}
// console.log(datearr)
// 返回默认显示的数组和联动数组的声明
var dateTime = [],
dateTimeArray = [[], [], [], []];
var start = startYear || 2020;
var end = endYear || 2025;
// 默认开始显示数据
var defaultDate = date ? datearr : getNewDateArry();
// console.log("datearr")
// console.log(datearr)
// console.log(getNewDateArry());
// console.log(defaultDate)
// console.log("0999999");
// console.log(defaultDate[0], defaultDate[1])
// 处理联动列表数据
/*年月日 时分*/
dateTimeArray[0] = getLoopArray(start, end);
dateTimeArray[1] = getLoopArray(1, 12);
dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
if (isNoTime != "noTime") {
dateTimeArray[3] = ["06:00", "06:30", "07:00", "07:30", "08:00", "08:30", "09:00", "09:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "13:00", "13:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30"];
}
dateTimeArray.forEach((current, index) => {
// console.log(current);
// console.log(index);
// console.log(defaultDate[index]);
// console.log(current.indexOf(defaultDate[index]));
if (index != 3) {
dateTime.push(current.indexOf(defaultDate[index]));
} else {
if (defaultDate[3] != "") {
dateTime.push(dateTimeArray[3].indexOf(defaultDate[3] + ":" + defaultDate[4]));
} else {
dateTime.push(12);
}
}
});
return {
dateTimeArray: dateTimeArray,
dateTime: dateTime,
};
}
module.exports = {
dateTimePicker: dateTimePicker,
getMonthDay: getMonthDay,
};