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