从当前日计算后面7天的简单周历(无翻页) 纯手打

 因为项目中有个需求就是需要展示进他的日期和星期来进行预约排版。 但是在网上找了一些插件都很大,不是很喜欢 于是自己写了一个简单的js功能实现。

// 通过指定的时间来获取星期 后返回中文
function getWeek(year, month, day) {
  let weekInt = new Date(year, month, day).getDay();
  switch (weekInt) {
    case 1:
      return "周一"
      break;
    case 2:
      return "周二"
      break;
    case 3:
      return "周三"
      break;
    case 4:
      return "周四"
      break;
    case 5:
      return "周五"
      break;
    case 6:
      return "周六"
      break;
    case 0:
      return "周天"
      break;
  }
}
/**
 * 获取当前日起的一个星期
 * 
 */
function nowDayWeek() {
  let currentPages = this;
  let data = []; //返回的数据
  let date = new Date(); //new一个date实例
  let nowDay = date.getDate(); //当前日
  let year = date.getFullYear(); //四位数字返回年份。
  let month = date.getMonth(); //返回值是 0(一月) 到 11(十二月) 之间的一个整数。
  for (let i = 0; i < 7; i++) {
    // new Date(year, month + 1, 0); 可以获取当前月份的最大天数
    if (nowDay + i > new Date(year, month + 1, 0).getDate()) {
      // 如果当前日超过本月份最大天数则跳出循环
      break
    }
    data[i] = {
      dayNum: nowDay + i,
      week: getWeek(year, month, nowDay + i)
    }
  };
  //判断数据够7天?
  if (data.length != 7) {
    // 计算差多少天的数据
    let length = 7 - data.length;
    // 因为数据不够是因为超出最大天数造成 所以从1开始进行循环
    // 从1号开始赋值和计算周几
    for (let i = 1; i <= length; i++) {
      data[data.length] = {
        dayNum: i,
        week: getWeek(year, month + 1, i)
      }
    }
  }
  return data;
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值