自定义picker组件初始化的时间

//获取东八区时间
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];
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值