當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript的时间段选择
生活随笔
收集整理的這篇文章主要介紹了
javascript的时间段选择
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近要在頁面上加一個時間段的選擇控件,便上網(wǎng)搜尋一番,但找到的答案大都沒有考慮時間段跨年的情況,所以做了些修改
本周的開始和結(jié)束日期
//當(dāng)前日期 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)); //本周結(jié)束日期(本周開始日期 + 6天) var weekEndDay = new Date(now.getTime() - oneDay * (nowDayForWeek - 7));上周的開始和結(jié)束日期
//上周開始日期(當(dāng)前日期 - 7天 - 今天是一周的第幾天) var lastWeekStartDay = new Date(now.getTime() - oneDay * (nowDayForWeek + 6)); //上周結(jié)束日期(當(dāng)前日期 - 今天是一周的第幾天) var weekEndDay = new Date(now.getTime() - oneDay * (nowDayForWeek - 7));本月的開始和結(jié)束日期(不存在跨年)
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); //本月結(jié)束日期 var monthEndDay = new Date(nowYear ,nowMonth ,getMonthDays(nowYear ,nowMonth));上月的開始和結(jié)束日期(存在跨年的可能)
var lastMonth = (nowMonth - 1) === -1 ? 11 : (nowMonth -1); var lastMonthYear = lastMonth === 11 ? (nowYear -1) : nowYear; //上月開始日期 var lastMonthStartDay = new Date(lastMonthYear ,lastMonth ,1); //上月結(jié)束日期 var lastMonthEndDay = new Date(lastMonthYear ,lastMonth ,getMonthDays(lastMonthYear ,lastMonth));本季度的開始和結(jié)束日期(不存在跨年)
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); //本季度結(jié)束日期 var quarterEndday= new Date(nowYear ,getQuarterStartMonth(nowMonth) + 2 ,getMonthDays(nowYear ,getQuarterStartMonth(nowMonth) + 2));上季度的開始和結(jié)束日期(存在跨年)
var lastQuarterMonth = (getQuarterStartMonth(nowMonth) - 3) < 0 ? 9 : getQuarterStartMonth(nowMonth - 3); var lastQuarterYear = lastQuarterMonth === 9 ? nowYear - 1 : nowYear; //上季度開始日期 var lastQuarterStartday = new Date(lastQuarterYear ,lastQuarterMonth ,1); //上季度結(jié)束日期 var lastQuarterEndday = new Date(lastQuarterYear ,lastQuarterMonth + 2 ,getMonthDays(lastQuarterYear ,lastQuarterMonth + 2);轉(zhuǎn)載于:https://www.cnblogs.com/keloo/p/3729570.html
總結(jié)
以上是生活随笔為你收集整理的javascript的时间段选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql退出当前数据库,再次 show
- 下一篇: DevExpress ChartCont