使用javascript的日期函數(shù)
Date(日期)對(duì)象可以使用Date()構(gòu)造器來創(chuàng)建,在前面的教程中我們已經(jīng)介紹了Date()構(gòu)造器,這里就不重復(fù)敘述。它沒有參數(shù),返回的數(shù)值就是當(dāng)前的日期。下面的表格顯示了為日期構(gòu)造器的有效輸入:
var today = new Date(); |
返回當(dāng)前的日期和時(shí)間 |
var newyear = new Date("December 31, 1998 23:59:59"); |
輸入的是表單的字符串 “月 日,年 小時(shí):分鐘:秒” |
var bday = new Date(75, 1, 16); |
參數(shù)是年份,月,日 |
var bday = new Date(75, 1, 16, 12, 0, 0); |
這里作點(diǎn)補(bǔ)充:月份是從0開始的,比如一月份=0,二月份=1,三月份=3等等。
從上面可以看出創(chuàng)建一個(gè)日期對(duì)象是相對(duì)地簡(jiǎn)單,以下的表格是一系列的函數(shù)可以用于改變或者訪問這些對(duì)象的屬性:
日期訪問方法
Method(方法) |
Description (描述) |
Value(數(shù)值) |
getYear() |
返回年份的最后兩位數(shù)字 |
2001 |
getMonth() |
返回年份中的第幾月(0到11) |
5 |
getDate() |
返回月份中的第幾日(1到31) |
2 |
getDay() |
返回星期中的第幾天 (0到6) |
6 |
getTimezoneOffset() |
返回當(dāng)?shù)貢r(shí)間與格林尼治天文臺(tái)平均時(shí)間的差別 |
-480 (-8h) |
getHours() |
返回一天中的時(shí)針點(diǎn)數(shù)(0到23) |
16 |
getMinutes() |
返回分鐘 (0..59) |
8 |
getSeconds() |
返回時(shí)間的秒 (0到59) |
24 |
getTime() |
返回自從公元1970年1月1日的毫秒數(shù) |
991469304470 |
這里注意:IE瀏覽器的一些版本返回Timezoneoffset數(shù)值是用錯(cuò)誤的符號(hào),比如用”-”代替”+”等等。
日期設(shè)置方法
setDate() | 設(shè)置每月中的第幾天(從0到30) |
setHours() | 設(shè)置小時(shí)(從0到23) |
setMinutes() | 設(shè)置分鐘(從0到59) |
setMonth() | 設(shè)置月份(從0到11) |
setSeconds() | 設(shè)置秒數(shù)(從0到59) |
setTime() | 設(shè)置時(shí)間(從公元以來的毫秒數(shù)) |
setYear() | 設(shè)置年份 |
其它的日期方法
parse | 轉(zhuǎn)化日期字符串為自從公元以來的毫秒數(shù),比如Date.parse(“date string”) |
toString() | Sat Jun 2 16:08:24 UTC+0800 2001 |
toGMTString() | Sat, 2 Jun 2001 08:08:24 UTC |
toLocaleString() | 2001年6月2日 16:08:24 |
所有的這些函數(shù)引用于獨(dú)立的日期對(duì)象。如果你具有深厚的Java編程背景,那么你可以將它們認(rèn)為是Date類的一些公共的方法而已。下面給出一個(gè)典型的例子來設(shè)置日期對(duì)象到當(dāng)前時(shí)間加1年:
var nextYear = new Date(); // 初始化日期對(duì)象
nextyear.setYear(nextYear.getYear() + 1); // 增加1年
實(shí)際上,parse函數(shù)是Date對(duì)象的一個(gè)方法,而不是一個(gè)獨(dú)立的日期變量,如果使用Java術(shù)語,它就稱為Date類的一個(gè)靜態(tài)方法。這個(gè)正是我們?yōu)槭裁词褂肈ate.pase()而不使用somedate.parse()的原因啦。