今天做項目,遇到一個需要把日期文字(如:2009-02-03)轉換成Javascript中日期對象Date,對Javascript知識的匱乏和四棟讓我感覺很迷茫,上網查了一些資料,弄出來了哈。。。
直接進主題:
建立一個日期對象:
var objDate=new Date([arguments list]);
參數形式有以下5種:
new Date("month dd,yyyy hh:mm:ss");<br />new Date("month dd,yyyy");<br />new Date(yyyy,mth,dd,hh,mm,ss);<br />new Date(yyyy,mth,dd);<br />new Date(ms);
說明:
month:用英文表示月份名稱,從January到December
mth:用整數表示月份,從0(1月)到11(12月)
Content
dd:表示一個月中的第幾天,從1到31
yyyy:四位元表示的年份
hh:小時數,從0(午夜)到23(晚11點)
mm:分鐘數,從0到59的整數
ss:秒數,從0到59的整數
ms:毫秒數,為大於等於0的整數,表示的是需要建立的時間和GMT時間1970年1月1日之間相差的毫秒數。
我發現了:
Javascript中日期的構造還可以支援 new Date("yyyy/MM/dd"); 其中:MM是整數表示月份從0(1月)到11(12月),這樣再利用Regex就很方便地能夠轉換字串日期了。
測試代碼:
<mce:script type="text/javascript"><!--<br />document.write("<br/>" + new Date("February 3,2009"));<br />document.write("<br/>" + new Date("February 3,2009 10:52:03"));<br />document.write("<br/>");<br />document.write("<br/>" + new Date(2009,1,3));<br />document.write("<br/>" + new Date(2009,1,3,10,52,03));<br />document.write("<br/>");<br />document.write("<br/>" + new Date(Date.parse("February 3,2009")));<br />document.write("<br/>" + new Date(Date.parse("February 3,2009 10:52:03")));<br />document.write("<br/>" + new Date(Date.parse(2009,1,3)));//Output: NAN<br />document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03)));//Output: NAN<br />document.write("<br/>" + new Date(Date.parse("2009/02/03")));<br />document.write("<br/>");<br />document.write("<br/>" + new Date("2009/02/03"));<br />document.write("<br/>" + new Date("2009/02/03 11:12:13"));<br />document.write("<br/>" + new Date("2009-02-03"));//Output: NAN</p><p>// --></mce:script>
輸出結果:
Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 10:52:03 UTC+0800 2009
Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 10:52:03 UTC+0800 2009
Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 10:52:03 UTC+0800 2009
NaN
NaN
Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 11:12:13 UTC+0800 2009
NaN