一年中的某周转换成当前周星期一和星期日的日期
weekstr是字符串“年份周数”如“20201”或者“202011”,将字符串导入函数format,将“20261”和“20211”做为例子带入函数,下面2张图为2021年和2026年日历1月的图片。该方法每周从星期一到星期日规定跨年如果下年满4天为第1周,如果下年不满4天就为去年的最后一周,2026年第一周就是2025.12.29~2026.1.4,2021年第一周就是2021.1.4~2021.1.10。
//周数换成日期输入组件显示正确时间输入“20261”,“20211”formatDay(weekstr) {//切割字符串将年份切割出来year="2021"和year="2026"let year = weekstr.slice(0, 4);//切割周数weekNo="1" 和 weekNo="1"let weekNo = weekstr.slice(4, 7);//0-6获得输入当年1月1号的星期几,2026的1月1号是星期四,2026对应的oneday=4。2021的1月1号是星期五,2021对应的oneday=5。let oneday = new Date(year + '-01-01').getDay();// 方便计算,当为星期天时为7if (oneday == 0) {oneday = 7}let one_fistday;//规定第一周的第一天let one_lastday;//规定第一周的最后一天也就是第七天// 如果1号刚好是星期一,计算第一周的日期if (oneday == 1) {one_fistday = year + '-01-01'one_lastday = year + '-01-07'} else { //如果1号不是星期一就分为2种情况,一种为跨年下年不满4天,则为去年的最后一周,也就是2021年这种情况,第一周为2021-1-4~2021-1-10,oneday=5。另一种为跨年满4天,也就是2026这周情况,第一周为2025-12-29~2026-1-4, oneday=4。//if这种就是第二种情况,输入oneday=4if (oneday < 5) {//jj = 4let jj = 8 - oneday //2026年第一周的第一天one_fistday=2025-12-29,one_lastday=2026-01-04one_fistday = (year - 1) + '-12-' + (31 + jj - 6)one_lastday = year + '-01-' + (jj > 9 ? jj : '0' + jj)} else {//这种就是第一种情况,输入oneday=5//aa =4let aa = 9 - oneday//2021年第一周的第一天one_fistday=2021-01-04,one_lastday=2021-01-10;one_fistday = (year) + '-01-' + '0' + aa;one_lastday = (year) + '-01-' + (aa + 6 < 10 ? '0' + (aa + 6) : aa + 6);}}//规定fistday是输入周数的星期一,lastday是输入周数的星期日let fistday;let lastday;// 如果刚好是第一周,if (weekNo == 1) {fistday = one_fistdaylastday = one_lastday} else {//计算输入周的星期一和星期日fistday = this.addDate(one_fistday, (weekNo-1) * 7 )lastday = this.addDate(one_lastday, (weekNo-1) * 7)}//输出输入周的星期一和星期日return [fistday,lastday]},//计算输入周的星期一和星期日的函数addDate(date, days) {var d = new Date(date);d.setDate(d.getDate() + days);var m = d.getMonth() + 1;return d.getFullYear() + '-' + (m > 9 ? m : '0' + m) + '-' + (d.getDate() > 9 ? d.getDate() : '0' + d.getDate());}
一年中的某周转换成当前周星期一和星期日的日期相关推荐
- mysql转换戳转换成小时_MySQL时间函数 | 时间戳和日期之间得转换
一.时间戳转日期select FROM_UNIXTIME(1606028010, '%Y-%m-%d %H:%i:%s'); 二.日期转时间戳select unix_timestamp('2018-0 ...
- mysql指定时间转换成yyyy-mm-dd_如何在MySQL中将特定日期的MM / YY转换为YYYY-MM-DD?...
要进行转换,请使用STR_TO_DATE(),如以下语法所示.将日值与CONCAT()-连接select str_to_date(concat('yourDateValue/', yourColumn ...
- python pdf转txt保留全部信息_Python 将pdf转换成txt(不处理图片)
上一篇文章中已经介绍了简单的python爬网页下载文档,但下载后的文档多为doc或pdf,对于数据处理仍然有很多限制,所以将doc/pdf转换成txt显得尤为重要.查找了很多资料,在linux下要将d ...
- python pdf处理 图片_Python 将pdf转换成txt(不处理图片)
上一篇文章中已经介绍了简单的python爬网页下载文档,但下载后的文档多为doc或pdf,对于数据处理仍然有很多限制,所以将doc/pdf转换成txt显得尤为重要.查找了很多资料,在linux下要将d ...
- 怎么将mysql的时间转为星期_Mysql的日期转换成星期[某天对应周几]
|-- 应用中会有各种不同的需求,要灵活应对:比如拿到某一日期要知道是周几 |--DAYOFWEEK(date) [返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对 ...
- excel vba 如何将日期周几转换成文字_Excel 从精通到入门
Excel 从精通到入门 引子 Excel? 这么简单的东西有学的必要吗?公式加减乘除,诶等等这个日期怎么变成 #### 了,虽然文本数字搞不清楚,但也算熟练使用 Excel 啦. WOW, Awso ...
- C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组
例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...
- C语言编程>第十六周 ⑧ S是一个由数字和字母字符串组成的字符串,由变量len传入字符串长度。请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中
例题:S是一个由数字和字母字符串组成的字符串,由变量len传入字符串长度.请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中,函数返回数组a的长度. 例如,s=&qu ...
- kettle大于0的转换成1_第一期实训周:基于Python+MySQL+Kettle+R的某网站数据采集分析...
↓ 基于Python+MySQL+Kettle+R的 某网站数据采集分析 哈喽!各位学员们 咱们第一期课程就要开始了 下面划重点! 一 高校院系 齐鲁工业大学数学与统计学院应用统计系 二 实训日期 2 ...
最新文章
- 程序员的520--8ms给你无法复制的花式告白
- ijkplayer、VLC Player、SmartPlayer、ExoPlayer播放器比较
- Rekit Studio简介:用于React和Redux开发的真实IDE
- playframework 打包在tomcat里部署
- Java并发——Java与多线程
- Await Async和Thread.waitAll想法?未完待续
- js 复制图片到剪切板 和 js复制文本到剪切板
- java后端开发简历模板,最全Java知识总结
- object c中的多态
- 有关mysql触发器的感悟_有关mysql触发器实例分享
- C#基础 控制台应用程序(一)介绍
- java poi 数据透视_java 通过 poi pivotTable 实现 数据透视表
- 【实践与问题解决30】苹果手机如何取消使用切换控制时候弹出的重要通知
- 傻瓜教学——什么是常量?常量可以分几类?它们分别又是什么?又有什么含义?
- 区块链指南 第2章 区块链基础
- php怎样转换成html格式,php实现转换html格式为文本格式的方法
- 使用Python以UCI心脏病数据集为例,进行数据简单分析
- 如何用C#制作 微信个人机器人
- 计算机主机恢复上电检查,电脑故障维修判断指导总结
- APP——功耗测试(耗电测试)——基础知识
热门文章
- 单片机c语言交通灯源程序,51单片机用C语言实现交通灯_红绿灯_源程序
- Openfire使用总结
- JAVA面试系列:你了解系统可用性吗?
- 【ARM-8】MPIDR_EL1, Multiprocessor Affinity Register 多处理器关联寄存器
- (Android)很抱歉,“xx”程序已经停止运行
- C++:评估二伽玛或 psi 功能(附完整源码)
- Polybuild Tool:Blender自带的重拓扑工具
- tddl+diamond(一)
- Java8常用循环遍历操作方式的效率对比
- 基于ffmpeg+opengl+opensl es的android视频播放器