js实现日期选择器的两种方法(默认展示为最近一周)

方法一:
读取当前日期,再将day-7,判断day<=0针对不同月份的显示情况:

 let today = date.toISOString().split('T')[0];
    let oneWeekBefore = '';
    let year = date.getFullYear();
    let month = date.getMonth() + 1;
    let day = date.getDate() - 7;
    if(day <= 0 &&(month == 1||3||5||7||8||10||12)){
        day = 31+day;
        month --;
    }
    else if(day <= 0 &&(month == 2)){
        day = 28+day;
        month --;
    }
    else{
        day = 30+day;
        month --;
    };
    day = day > 9 ? day: '0' + day;  
    if(month == 0){
        oneWeekBefore = (year-1) + '-12-' + day;
    }
    else{
        month = month > 9 ? month: '0' + month;
        oneWeekBefore = year + '-' + month + '-' + day;
    };

方法二:
先读取当前日期,再读取七天前日期。

    let date = new Date();
    let today = date.toISOString().split('T')[0];
    let oneWeekBeforeDate = new Date(date.getTime() - (7 * 24 * 60 * 60 * 1000));
    let oneWeekBefore = oneWeekBeforeDate.toISOString().split('T')[0];

显然,第二种方法简便了很多。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,844评论 6 13
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,937评论 0 5
  • 连着面试了俩个星期了 就像处在 一个周围都是玻璃的房子 没有来路 更没有去路 就连归去的路 也没了 可接下来 我似...
    我叫DA林子阅读 1,215评论 0 0
  • 卓小尔阅读 1,332评论 0 3
  • 往生过半,余生康健, 青春始起,愿获真爱, 未来可期,望锦绣 后半生,我常在。
    别离伤几时休阅读 663评论 0 0