1. 程式人生 > 實用技巧 >js 獲取昨天日期

js 獲取昨天日期

想要做個記錄 但是發現有位老哥的部落格寫的比較全 拿過來記錄一下

https://www.cnblogs.com/sxxjyj/p/6093326.html

  1. 開發過程中某些前臺頁面的時間控制元件我們需要給預設當前時間,jquery可以輕鬆的幫我們實現,程式碼如下
     1 //昨天的時間
     2 var day1 = new Date();
     3 day1.setTime(day1.getTime()-24*60*60*1000);
     4 var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-" + day1.getDate();
     5 //今天的時間
     6 var day2 = new Date();
     7 day2.setTime(day2.getTime());
     8 var s2 = day2.getFullYear()+"-" + (day2.getMonth()+1) + "-" + day2.getDate();
     9 //明天的時間
    10 var day3 = new Date();
    11 day3.setTime(day3.getTime()+24*60*60*1000);
    12 var s3 = day3.getFullYear()+"-" + (day3.getMonth()+1) + "-" + day3.getDate();
    13 //拼接時間
    14 function show(){
    15      var str = "" + s1 + "至" + s2;
    16      return str;
    17 }
    18 //賦值doubleDate
    19  $('#dateS').val(show());        

  2. 下面是具體到時分秒的獲取方法
     1 function writeCurrentDate() {
     2         var now = new Date();
     3         var year = now.getFullYear(); //得到年份
     4         var month = now.getMonth();//得到月份
     5         var date = now.getDate();//得到日期
     6         var day = now.getDay();//得到周幾
     7         var hour = now.getHours();//得到小時
     8         var minu = now.getMinutes();//得到分鐘
     9         var sec = now.getSeconds();//得到秒
    10        var MS = now.getMilliseconds();//獲取毫秒
    11         var week;
    12         month = month + 1;
    13         if (month < 10) month = "0" + month;
    14         if (date < 10) date = "0" + date;
    15         if (hour < 10) hour = "0" + hour;
    16         if (minu < 10) minu = "0" + minu;
    17         if (sec < 10) sec = "0" + sec;
    18         if (MS < 100)MS = "0" + MS;
    19         var arr_week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
    20         week = arr_week[day];
    21         var time = "";
    22         time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week;
    23         //當前日期賦值給當前日期輸入框中(jQuery easyUI)
    24         $("#currentDate").html(time);
    25         //設定得到當前日期的函式的執行間隔時間,每1000毫秒重新整理一次。
    26         var timer = setTimeout("writeCurrentDate()", 1000);
    27       }

  3. 2017.6.27更新
    今天又發現了一種簡單的方法:可以直接對年月日時分秒進行操作,假如今天2017-06-01 那麼所得昨天為 2017-05-31
    1  //昨天的時間 
    2  var day1 = new Date();
    3  day1.setDate(day1.getDate() - 1);
    4  var s1 = day1.format("yyyy-MM-dd");
    5  //前天的時間
    6  var day2 = new Date();
    7  day2.setDate(day2.getDate() - 2);
    8  var s2 = day2.format("yyyy-MM-dd");


    其中,format函式為擴充套件函式。

    /**
    *對Date的擴充套件,將 Date 轉化為指定格式的String
    *月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個佔位符,
    *年(y)可以用 1-4 個佔位符,毫秒(S)只能用 1 個佔位符(是 1-3 位的數字)
    *例子:
    *(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
    *(new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
    */
    Date.prototype.format = function (fmt) {
    var o = {
    "M+": this.getMonth() + 1, //月份
    "d+": this.getDate(), //日
    "h+": this.getHours(), //小時
    "m+": this.getMinutes(), //分
    "s+": this.getSeconds(), //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
    }

  4. 頁面日期 2017-06-27 變 20170627 “2017-06-27”.replace(/-/g,"")。