//获取东八区时间
function getAbsTime() {
let currentZoneTime = new Date();
let currentZoneHours = currentZoneTime.getHours();
let offsetZone = currentZoneTime.getTimezoneOffset() / 60;
if (offsetZone > 0) {
// 大于0的是西区(西区晚) 西区应该用时区绝对值加京八区 重新设置时间
// 西区时间比东区时间晚 所以加时区间隔
offsetZone = offsetZone + 8;
currentZoneTime.setHours(currentZoneHours - offsetZone)
} else {
// 小于0的是东区(东区早) 东区时间直接跟京八区相加
offsetZone += 8;
currentZoneTime.setHours(currentZoneHours + offsetZone);
}
return currentZoneTime
}
//初始化时间选择器 时间比现在时间往后推30分钟
function initTimePicker() {
let nowTime = getAbsTime(new Date());
nowTime.setMinutes(nowTime.getMinutes() + 30); //预约30分钟后
let day = nowTime.getDate();
let hour = nowTime.getHours();
let min = nowTime.getMinutes();
let minArr = [];
let hourArr = [];
let dayArr = [];
let minIndex = parseInt(min / 10);
if (minIndex < 5) {
for (let i = minIndex + 1; i <= 5; i++) {
minArr.push({ value: i * 10, name: i * 10 + ‘分’ })
}
for (let i = 0; i < 24; i++) {
if (i >= hour) {
hourArr.push({ name: i + ‘点’, value: i });
}
}
//因为只能选择三个月的时间
for (let i = 0; i < 3; i++) {
dayArr.push({ name: (nowTime.getMonth() + 1) + ‘月’ + nowTime.getDate() + ‘日’, value: Date.parse(nowTime) });
nowTime.setDate(nowTime.getDate() + 1);
}
} else {
minArr = [{ name: ‘0分’, value: 0 }, { name: ‘10分’, value: 10 }, { name: ‘20分’, value: 20 }, { name: ‘30分’, value: 30 }, { name: ‘40分’, value: 40 }, { name: ‘50分’, value: 50 }];
for (let i = 0; i < 24; i++) {
if (i > hour) {
hourArr.push({ name: i + ‘点’, value: i });
}
}
if (hourArr.length === 0) {
for (let i = 0; i < 24; i++) {
hourArr.push({ name: i + ‘点’, val: i });
}
for (let i = 0; i < 3; i++) {
nowTime.setDate(nowTime.getDate() + 1);
dayArr.push({ name: (nowTime.getMonth() + 1) + ‘月’ + nowTime.getDate() + ‘日’, value: Date.parse(nowTime) });
}
} else {
for (let i = 0; i < 3; i++) {
dayArr.push({ name: (nowTime.getMonth() + 1) + ‘月’ + nowTime.getDate() + ‘日’, value: Date.parse(nowTime) });
nowTime.setDate(nowTime.getDate() + 1);
}
}
}
return [dayArr, hourArr, minArr];
}
// 初始化时分
function getDayMin() {
let minArr = [];
let hourArr = [];
for (let i = 0; i < 24; i++) {
hourArr.push({ name: i + ‘点’, value: i });
}
for (let i = 0; i < 6; i++) {
minArr.push({ name: (i * 10) + ‘分’, value: i * 10 });
}
return [hourArr, minArr];
}