JavaScript(js)获取本周,本月,本季,本年,上月,上周,上季,去年,上二周,上二月的时间段的代码
2024-10-01 22:30:27
function dateChange(name){
var beginTimeObject = document.getElementById("beginTime");
var endTimeObject = document.getElementById("endTime"); var beginTime;
var endTime;
var now = new Date();
var month = now.getMonth();
var year = now.getFullYear();
var day = now.getDate();
var wday = now.getDay(); switch(name){
case "tweek": //本周
var day = now.getDay();
now.setDate(now.getDate() - (day -1));
beginTime = formatDate(now); now.setDate(now.getDate() + 6);
endTime = formatDate(now);
break;
case "tmonth": //本月
now.setDate(1);
beginTime = formatDate(now); var days = getDays(now);
now.setDate(days);
endTime = formatDate(now);
break;
case "tquarter": //本季
var m = now.getMonth() + 1;
var q = parseInt((m + 2 ) / 3 ); //得到第几季
m = q * 3 - 2; //得到季的首月份 now.setMonth(m-1);
now.setDate(1);
beginTime = formatDate(now); now.setMonth(now.getMonth() + 3);
now.setDate(0);
endTime = formatDate(now);
break;
case "tyear": //本年
now.setMonth(0);
now.setDate(1);
beginTime = formatDate(now); now.setMonth(11);
now.setDate(31);
endTime = formatDate(now);
break;
case "today": //今天
beginTime = formatDate(now);
endTime = beginTime;
break;
case "pweek": //上周
var day = now.getDay();
now.setDate(now.getDate() - (day -1) - 7 );
beginTime = formatDate(now); now.setDate(now.getDate() + 6);
endTime = formatDate(now); break;
case "pmonth": //上月
now.setDate(1);
now.setMonth(now.getMonth() -1 );
beginTime = formatDate(now); var days = getDays(now);
now.setDate(days);
endTime = formatDate(now);
break;
case "pquarter": //上季
var m = now.getMonth() + 1;
var q = parseInt((m + 2 ) / 3 ); //得到第几季
m = q * 3 - 2; //得到季的首月份 m = m-3 ; //上季
now.setMonth(m-1);
now.setDate(1);
beginTime = formatDate(now); now.setMonth(now.getMonth() + 3);
now.setDate(0);
endTime = formatDate(now);
break;
case "pyear": //去年
now.setFullYear(now.getFullYear() -1 );
now.setMonth(0);
now.setDate(1);
beginTime = formatDate(now); now.setMonth(11);
now.setDate(31);
endTime = formatDate(now);
break;
case "p2week": //上二周
var day = now.getDay();
now.setDate(now.getDate() - (day -1) - 7 *2);
beginTime = formatDate(now); now.setDate(now.getDate() + 6 + 7);
endTime = formatDate(now);
break;
case "p2month": //上二月
now.setDate(1);
now.setMonth(now.getMonth() -1*2 );
beginTime = formatDate(now); now.setMonth(now.getMonth() + 2);
now.setDate(0);
endTime = formatDate(now);
break;
case "customize": //自定义
beginTime = "";
endTime = "";
break;
} beginTimeObject.value = beginTime;
endTimeObject.value = endTime;
最新文章
- 【原创】基于日志增量,统计qps,并基于ip排序
- 给DB数据表加强制索引
- 使用内存虚拟硬盘 提高ArcGIS server并发性能的一种方法
- Redis redis-cli常用操作
- System类及其常用函数
- HDU1106 排序
- tomcat启动中提示 - consider increasing the maximum size of the cache
- (转载)在状态栏即时显示Hint
- 手把手教你从Core Data迁移到Realm
- 安装 mysql
- python3.5 + django1.9.1+mysql
- 一些重要 Docker 命令的简单介绍
- CSS背景图片
- ARC 066D Xor Sum AtCoder - 2272 (打表找规律)
- Codechef October Challenge 2018 游记
- 第k大的数
- springboot:mybatis多数据源配置
- Testing Round #12 A,B,C 讨论,贪心,树状数组优化dp
- event 实现两个程序的交互
- 项目实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错,eclipse中配置lombok
热门文章
- Android自己定义View画图实现拖影动画
- Altium Designer画原理图时要紧凑
- [TypeScript] Interface and Class
- android闹钟实现原理
- word vba 1 页面视图
- mysql select 无order by 默认排序 出现乱序的问题
- c#之mysql四种带事务批量插入
- Swift--使图片360° 周期旋转
- Node.js v10.1.0 Documentation
- [Node.js] Use Realm Object Database with Node.js