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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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,
};