JS對日期的處理

來源:互聯網
上載者:User

這幾天一直被日期的各種轉換纏繞在,現在終於解決,順便把自己這幾天的收穫貢獻出來,與大家一起共同成長。

1、將日期文字轉換成日期對象。
yyyy-mm-dd這種格式的字串轉化成日期對象,可以用new Date(Date.parse(str.replace(/-/g,"/")));
如下:
var endDateStr = endYear +"-"+ endMonth  +"-"+  endDay;
endDate = new Date(Date.parse(endDateStr.replace(/-/g,"/")));
執行個體顯示:
endDateStr:"2010-5-20"
Date.parse(endDateStr.replace(/-/g,"/")):1274284800000
endDate:Thu May 20 00:00:00 UTC+0800 2010

yyyy/mm/dd這種格式轉化成日期對象,可以用new Date(str);
如下:
var endDateStr = endYear +"/"+ endMonth  +"/"+  endDay;
endDate = new Date(endDateStr);
執行個體顯示:"2010/5/20"、Thu May 20 00:00:00 UTC+0800 2010

yyyymmdd這種格式轉換成日期對象,可以用new Date(sDate.replace(/^(\d{4})(\d{2})(\d{2})$/,"$1/$2/$3"));
如下:
var sDate="20090516";
sDate=sDate.replace(/^(\d{4})(\d{2})(\d{2})$/,"$1/$2/$3");
new Date(sDate);
執行個體顯示:"2009/05/16"、Sat May 16 00:00:00 UTC+0800 2009

2、顯示當前日期的下一天。
var date = new Date();
var b = date.getDate();
b += 1;
date.setDate(b);

3、求兩個日期之間相差的天數。
var Date1 =new Date(2008,6,28);               //Mon Jul 28 00:00:00 UTC+0800 2008
var Date2 =new Date(2009,5,16);               //Tue Jun 16 00:00:00 UTC+0800 2009
var n  = (Date2.getTime()-Date1.getTime())/(24*60*60*1000);  //323
var n  = (Date2-Date1)/(24*60*60*1000);   //直接相減得到的是毫秒數。

 4、dateObj.getDay() 返回 Date 對象中用本地時間表示的一周中的日期值。
getDay 方法所返回的值是一個處於 0 到 6 之間的整數,它代表了一周中的某一天,傳回值與一周中日期的對應關係如下:

值 星期
0 星期天
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六

此方法可以用來對 ‘工作日’的判斷。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.