计算本月,本周,本日时间

本文介绍了一个简单的JavaScript函数,用于根据用户选择的时间类型(天、周、月)动态设置日期范围。该函数通过计算当前日期来确定起始日期和结束日期,并将其应用于页面上的日期选择器组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function changeTime(type) {
//获得当前日期
var today = new Date();
var year = today.getFullYear();
var day = "";
var month = today.getMonth() + 1;
var beginTime = "";
var endTime = "";
switch (type) {
case "day":
beginTime = year + "-" + month + "-" + today.getDate();
endTime = year + "-" + month + "-" + today.getDate();
break;
case "week":
var beginDay = (today.getDate() - (today.getDay() - 1));
var endDay = (today.getDate() + (7 - today.getDay()));
var beginMonth = month;
var endMonth = month;
var beginYear = year;
var endYear = year;
if ((today.getDate() - (today.getDay() - 1)) < 1) {
beginDay = getDayByMonth(month) + (today.getDate() - (today.getDay()) + 1);
beginMonth = month - 1;
if (month == 1) {
beginMonth = 12;
beginYear = year - 1;
}
}
if ((today.getDate() + (7 - today.getDay())) > getDayByMonth(month)) {
endDay = (today.getDate() + (7 - today.getDay())) - getDayByMonth(month);
endMonth = month + 1;
if (month == 12) {
endMonth = 1;
endYear = year + 1;
}
}
beginTime = beginYear + "-" + beginMonth + "-" + beginDay;
endTime = endYear + "-" + endMonth + "-" + endDay;
break;
case "month":
beginTime = year + "-" + month + "-1";
day = getDayByMonth(month);
endTime = year + "-" + month + "-" + day;
break;
}


$('#recordDate1').datebox('setValue', beginTime);
$('#recordDate2').datebox('setValue', endTime);
}
//计算本月,本周,本日
function getDayByMonth(num) {
   if (num > 7 && num % 2 == 0) {
       return 31;
   } else if (num > 7 && num % 2 != 0) {
       return 30;
   } else if (num <= 7 && num % 2 == 0) {
       if (num != 2) {
           return 30;
       } else if ((new Date()).getFullYear % 4 == 0) {
           return 29;
       } else {
           return 28;
       }
   } else {
       return 31;
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值