JS实现获取当前所在周的周六、周日示例分析

时间:2021-05-26

本文实例讲述了JS实现获取当前所在周的周六、周日。分享给大家供大家参考,具体如下:

需求:无论当前是哪一天,获取当天所在周的周末 是哪一天

实现步骤:

比如,今天周一,则周日距离今天还有(7-1)=6天,那么将今天的时间(毫秒数),加上六天后的时间(6*_dayLongTime 毫秒数),然后根据date函数,转换为几月几日。

1、获取当天的时间

let _nowTime=new Date().getTime();

2、获取当天是星期几

let _week=_date.getDay();

3、设置一天的时长

let _dayLongTime=24*60*60*1000;

4、获取周六周日距离现在还有多少毫秒

let _furtureSundayTimes = _nowTime + (7 - _week) * _dayLongTime;let _furtureSaturdayTimes = _nowTime + (6 - _week) * _dayLongTime;

5、将毫秒数转为date对象

_furtureSundayTimes = new Date(_furtureSundayTimes);_furtureSaturdayTimes = new Date(_furtureSaturdayTimes);

6、根据日期获取几月几日

// staurdaylet _satYear = _furtureSaturdayTimes.getFullYear();let _satMonth = _furtureSaturdayTimes.getMonth() + 1;let _satDay = _furtureSaturdayTimes.getDate();//sundaylet _sunYear = _furtureSundayTimes.getFullYear();let _sunMonth = _furtureSundayTimes.getMonth() + 1;let _sunDay = _furtureSundayTimes.getDate();

7、格式化

_satMonth = _satMonth >= 10 ? _satMonth : '0' + _satMonth;_satDay = _satDay >= 10 ? _satDay : '0' + _satDay;_sunMonth = _sunMonth >= 10 ? _sunMonth : '0' + _sunMonth;_sunDay = _sunDay >= 10 ? _sunDay : '0' + _sunDay;_mealSunDay = _satYear+'-'+_satMonth+'-'+_satDay;_mealSaturDay = _sunYear+ '-'+_sunMonth+'-'+_sunDay;

8、注:之所以不仅获取周六,然后周日则用周六加1,就行,因为很有可能改周末不在同一个月份,比如3.31周六,4.01周日,月份不相同

9、方法体

function getWeekDay() { let _date = new Date(); let _nowTime = _date.getTime(); let _week = _date.getDay(); let _dayLongTime = 24 * 60 * 60 * 1000; let _furtureSundayTimes = _nowTime + (7 - _week) * _dayLongTime; let _furtureSaturdayTimes = _nowTime + (6 - _week) * _dayLongTime; _furtureSundayTimes = new Date(_furtureSundayTimes); _furtureSaturdayTimes = new Date(_furtureSaturdayTimes); // staurday let _satYear = _furtureSaturdayTimes.getFullYear(); let _satMonth = _furtureSaturdayTimes.getMonth() + 1; let _satDay = _furtureSaturdayTimes.getDate(); //sunday let _sunYear = _furtureSundayTimes.getFullYear(); let _sunMonth = _furtureSundayTimes.getMonth() + 1; let _sunDay = _furtureSundayTimes.getDate(); _satMonth = _satMonth >= 10 ? _satMonth : '0' + _satMonth; _satDay = _satDay >= 10 ? _satDay : '0' + _satDay; _sunMonth = _sunMonth >= 10 ? _sunMonth : '0' + _sunMonth; _sunDay = _sunDay >= 10 ? _sunDay : '0' + _sunDay; _mealSunDay = _satYear+'-'+_satMonth+'-'+_satDay; _mealSaturDay = _sunYear+ '-'+_sunMonth+'-'+_sunDay; let _weekendDay = [{ saturDay: _mealSunDay }, { sunDay: _mealSaturDay }] return _weekendDay;}

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章