欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

javascript的时间段选择

发布时间:2025/5/22 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 javascript的时间段选择 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最近要在页面上加一个时间段的选择控件,便上网搜寻一番,但找到的答案大都没有考虑时间段跨年的情况,所以做了些修改

本周的开始和结束日期

//当前日期 var now = new Date(); //今天是一周的第几天 var nowDayForWeek = now.getDay() === 0 ? 7 : now.getDay(); var oneDay = 1000 * 60 * 60 * 24; //本周开始日期 var weekStartDay = new Date(now.getTime() - oneDay * (nowDayForWeek - 1)); //本周结束日期(本周开始日期 + 6天) var weekEndDay = new Date(now.getTime() - oneDay * (nowDayForWeek - 7));

上周的开始和结束日期

//上周开始日期(当前日期 - 7天 - 今天是一周的第几天) var lastWeekStartDay = new Date(now.getTime() - oneDay * (nowDayForWeek + 6)); //上周结束日期(当前日期 - 今天是一周的第几天) var weekEndDay = new Date(now.getTime() - oneDay * (nowDayForWeek - 7));

本月的开始和结束日期(不存在跨年)

var nowMonth = now.getMonth(); var nowYear = now.getFullYear(); function getMonthDays (year, month){var monthStartDay = new Date(year, month, 1);var monthEndDate = new Date(year, month + 1, 1);var days = (monthStartDay - monthEndDate) / oneDay;return days; } //本月开始日期 var monthStartDay = new Date(nowYear ,nowMonth ,1); //本月结束日期 var monthEndDay = new Date(nowYear ,nowMonth ,getMonthDays(nowYear ,nowMonth));

上月的开始和结束日期(存在跨年的可能)

var lastMonth = (nowMonth - 1) === -1 ? 11 : (nowMonth -1); var lastMonthYear = lastMonth === 11 ? (nowYear -1) : nowYear; //上月开始日期 var lastMonthStartDay = new Date(lastMonthYear ,lastMonth ,1); //上月结束日期 var lastMonthEndDay = new Date(lastMonthYear ,lastMonth ,getMonthDays(lastMonthYear ,lastMonth));

本季度的开始和结束日期(不存在跨年)

function getQuarterStartMonth (month){var quarterStartMonth = 0;if(month < 3){quarterStartMonth = 0;}if(2 < month && month < 6){quarterStartMonth = 3;}if(5 < month && month < 9){quarterStartMonth = 6;}if(8 < month){quarterStartMonth = 9;}return quarterStartMonth; } //本季度开始日期 var quarterStartday= new Date(nowYear ,getQuarterStartMonth(nowMonth),1); //本季度结束日期 var quarterEndday= new Date(nowYear ,getQuarterStartMonth(nowMonth) + 2 ,getMonthDays(nowYear ,getQuarterStartMonth(nowMonth) + 2));

上季度的开始和结束日期(存在跨年)

var lastQuarterMonth = (getQuarterStartMonth(nowMonth) - 3) < 0 ? 9 : getQuarterStartMonth(nowMonth - 3); var lastQuarterYear = lastQuarterMonth === 9 ? nowYear - 1 : nowYear; //上季度开始日期 var lastQuarterStartday = new Date(lastQuarterYear ,lastQuarterMonth ,1); //上季度结束日期 var lastQuarterEndday = new Date(lastQuarterYear ,lastQuarterMonth + 2 ,getMonthDays(lastQuarterYear ,lastQuarterMonth + 2);

转载于:https://www.cnblogs.com/keloo/p/3729570.html

总结

以上是生活随笔为你收集整理的javascript的时间段选择的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。