耀极客论坛

 找回密码
 立即注册
查看: 666|回复: 0

js获取最近一周一个月三个月时间的简单示例

[复制链接]

336

主题

318

帖子

22万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
220553
发表于 2022-5-8 01:50:06 | 显示全部楼层 |阅读模式
  时间的获取和格式化是我们经常遇到的问题,下面这篇文章主要给大家介绍了关于利用js如何获取最近一周一个月三个月时间的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

获取近一周时间
  1. var end = new Date();
  2. var year = end.getFullYear();
  3. var month = end.getMonth() + 1;//0-11表示1-12月
  4. var day = end.getDate();
  5. var dateObj = {};
  6. dateObj.end = year + '-' + month + '-' + day;
  7. if (day - 7 ‹= 0) {   //如果在当月7日之前
  8.     var startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();    //1周前所在月的总天数
  9.     if (month - 1 ‹= 0) { //如果在当年的1月份
  10.       dateObj.start = (year - 1) + '-' + 12 + '-' + (31 - (7 - day));
  11.     } else {
  12.       dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (7 - day));
  13.     }
  14. } else {
  15.     dateObj.start = year + '-' + month + '-' + (day - 7);
  16. }
  17. console.log(JSON.stringify(dateObj))
  18. 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.
复制代码
获取近一个月时间
  1. var end = new Date();
  2. var year = end.getFullYear();
  3. var month = end.getMonth() + 1;//0-11表示1-12月
  4. var day = end.getDate();
  5. var dateObj = {};
  6. dateObj.end = year + '-' + month + '-' + day;
  7. var endMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
  8. if(month - 1 ‹= 0){ //如果是1月,年数往前推一年‹br>    
  9.     dateObj.start = (year - 1) + '-' + 12 + '-' + day;
  10. }else{
  11.     var startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();
  12.     if(startMonthDay ‹ day){    //1个月前所在月的总天数小于现在的天日期
  13.         if(day ‹ endMonthDay){        //当前天日期小于当前月总天数
  14.             dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (endMonthDay - day));
  15.         }else{
  16.             dateObj.start = year + '-' + (month - 1) + '-' + startMonthDay;
  17.         }
  18.     }else{
  19.         dateObj.start = year + '-' + (month - 1) + '-' + day;
  20.     }
  21. }
  22. console.log(JSON.stringify(dateObj))
  23. 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.
复制代码
获取近三个月时间
  1. var end = new Date();
  2. var year = end.getFullYear();
  3. var month = end.getMonth() + 1;//0-11表示1-12月
  4. var day = end.getDate();
  5. var dateObj = {};
  6. dateObj.end = year + '-' + month + '-' + day;
  7. var endMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
  8. if(month - 3 ‹= 0){ //如果是1、2、3月,年数往前推一年
  9.     var start3MonthDay = new Date((year - 1), (12 - (3 - parseInt(month))), 0).getDate();    //3个月前所在月的总天数
  10.     if(start3MonthDay ‹ day){    //3个月前所在月的总天数小于现在的天日期
  11.         dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + start3MonthDay;
  12.     }else{
  13.         dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + day;
  14.     }
  15. }else{
  16.     var start3MonthDay = new Date(year, (parseInt(month) - 3), 0).getDate();    //3个月前所在月的总天数
  17.     if(start3MonthDay ‹ day){    //3个月前所在月的总天数小于现在的天日期
  18.         if(day ‹ endMonthDay){        //当前天日期小于当前月总天数,2月份比较特殊的月份
  19.             dateObj.start = year + '-' + (month - 3) + '-' + (start3MonthDay - (endMonthDay - day));
  20.         }else{
  21.             dateObj.start = year + '-' + (month - 3) + '-' + start3MonthDay;
  22.         }
  23.     }else{
  24.         dateObj.start = year + '-' + (month - 3) + '-' + day;
  25.     }
  26. }
  27. console.log(JSON.stringify(dateObj))
复制代码
New Date()与setDate()参数
  相信网上已经有很多关于日期的文章了,这里只是我自己再工作中遇到的问题然后加以总结;
  new Date()
  new Date() 一共有六种形式,五种带参数的一种不带参数的;
       
  • new Date();自然不用多说,默认获取的是当前日期。   
  • new Date("month1 dd,yyyy hh:mm:ss"); 注意:参数是字符形式   
  • new Date("month1 dd,yyyy"); 注意:参数是字符形式   
  • new Date(yyyy,month2,dd,hh,mm,ss); 注意:参数不是字符   
  • new Date(yyyy,month2,dd); 注意:参数不是字符   
  • new Date(ms); 
  参数说明:
  month1:用英文,表示月份名称;从January到December ;
  dd:表示日期,1-31
  yyyy:表示四位表示的年份
  hh:mm:ss:表示时间,时(0-23)-分(0-59)-秒(0-59)
  month2:是Number型的月份;从0-11;即1月到12月
  ms:从1970年1月1日之间相差的毫秒数
  特别提醒:有些是字符形式有些不是

总结
  到此这篇关于js获取最近一周一个月三个月时间的文章就介绍到这了,更多相关js获取一周一个月三个月时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|耀极客论坛 ( 粤ICP备2022052845号-2 )|网站地图

GMT+8, 2022-11-28 18:54 , Processed in 0.071608 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表