js 获取本周第一天、最后一天,本月第一天、最后一天,本季第一天、最后一天,本年第一天、最后一天...

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/jquery-3.2.1.js" ></script>
        <style>
          * {
            margin: 0;
            padding: 0;
          }
          .wrapped {
            display: flex;
            height: 3vw;
            width: 50vw;
            margin: 3vw auto;
          }
          .wrapped p {
            line-height: 3vw;
            margin: 0 1vw;
          }
          .change {
            width: 100%;
            display: flex;
            text-align: center;
            cursor: pointer;
          }
          .changeItem {
            flex: 1;
            border: .1rem solid palevioletred;
          }
        </style>
    </head>
    
    <body>
      <div class="change">
        <div class="changeItem">今日</div>
        <div class="changeItem">本周</div>
        <div class="changeItem">本月</div>
        <div class="changeItem">本季</div>
        <div class="changeItem">今年</div>
      </div>
      <div class="wrapped">
          <input type="date" value="2017-02-07" class="start"/>
      <p>/</p>
      <input type="date" value="2017-02-07" class="end"/>
      </div>
      <script>
        $(document).ready(function(){
          // 获取当前时间信息
          var now = new Date();
          var now_year = now.getFullYear();
          var now_month = now.getMonth();
          var now_date = now.getDate();
          var now_day = now.getDay();
          // 初始化 input 的 value 值
          $(".start").val(formatDate (now));
          $(".end").val(formatDate (now));
          // 点击事件
          $(".changeItem").click(function(){
            // 今天
            if($(this).index()===0){
              $(".start").val(formatDate (now));
            $(".end").val(formatDate (now));
            }
            // 本周
            if($(this).index()===1){
            $(".start").val(getWeekStart ());
            $(".end").val(getWeekEnd ());
          }
            // 本月
            if($(this).index()===2){
            $(".start").val(getMonth()[0]);
            $(".end").val(getMonth()[1]);
          }
            // 本季
            if($(this).index()===3){
            $(".start").val(getQuarter()[0]);
            $(".end").val(getQuarter()[1]);
          }
            // 今年
            if($(this).index()===4){
            $(".start").val(getYear()[0]);
            $(".end").val(getYear()[1]);
          }
          })
          // 规范格式
          function formatDate (date) {
            var myYear = date.getFullYear();
            var myMonth = date.getMonth() + 1;
            var myDate = date.getDate();
            if(myMonth < 10) {
              myMonth = '0' + myMonth;
            }
            if(myDate < 10) {
            myDate = '0' + myDate;
          }
            return myYear + '-' + myMonth + '-' + myDate;
          }
          // 获取本周第一天
          function getWeekStart () {
            var weekStart = new Date(now_year, now_month, now_date - now_day +1);
            return formatDate(weekStart);
          }
          // 获取本周最后一天
          function getWeekEnd () {
          var weekEnd = new Date(now_year, now_month, now_date + (7 - now_day));
          return formatDate(weekEnd);
        }
          // 获取本月
          function getMonth () {
          var MonthStart = new Date(now_year, now_month, 1);
          var MonthEnd = new Date((new Date(now_year, now_month + 1, 1)).getTime() - 1000 * 60 * 60* 24);
          return [formatDate(MonthStart),formatDate(MonthEnd)];
        }
          // 获取本季
          function getQuarter () {
            var QuarterStartMonth;
            if (now_month < 3) {
              QuarterStartMonth = 0;
            }
            if (now_month > 2 && now_month < 6) {
           QuarterStartMonth = 3;
          }
            if (now_month > 5 && now_month < 9) {
            QuarterStartMonth = 6;
          }
            if (now_month > 8 && now_month < 11) {
            QuarterStartMonth = 9;
          }
            var QuarterStart = new Date(now_year, QuarterStartMonth, 1);
          var QuarterEnd = new Date((new Date(now_year, QuarterStartMonth + 3, 1)).getTime() - 1000 * 60 * 60* 24);
            return [formatDate(QuarterStart),formatDate(QuarterEnd)];
        }
          // 获取今年
          function getYear () {
          var YearStart = new Date(now_year, 0, 1);
          var YearEnd = new Date((new Date(now_year + 1, 1, 1)).getTime() - 1000 * 60 * 60* 24);
          return [formatDate(YearStart),formatDate(YearEnd)];
        }
        })
      </script>
    </body>
</html>

转载于:https://my.oschina.net/missZhuo/blog/1860468

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值