国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript原生對象之Date對象的屬性和方法詳解

2019-11-20 12:56:51
字體:
供稿:網(wǎng)友

創(chuàng)建 Date 對象的語法:

復(fù)制代碼 代碼如下:

//Date 對象會自動把當前日期和時間保存為其初始值。
new Date();

//value-毫秒:代表自世界協(xié)調(diào)時1970年1月1日00:00:00開始的數(shù)值。
new Date(value);

//dateString-日期字符串:表示日期的字符串值。此字符串應(yīng)該是在parse方法中識別的格式。
new Date(dateString);

//year-年:代表年份的整數(shù)值。為了避免2000年問題最好指定4位數(shù)的年份; 使用1998, 而不要用98
//month-月:代表月份的整數(shù)值從0(1月)到11(12月)
//day-日:代表一個月中的第幾天的整數(shù)值,從1開始
//hour-小時:代表一天中的小時數(shù)的整數(shù)值 (24小時制)
//minute-分鐘
//second-秒
//millisecond-毫秒
new Date(year, month, day [, hour, minute, second, millisecond]);

Date()

Date() 方法可返回當天的日期和時間。

復(fù)制代碼 代碼如下:

console.log(Date());  //"Tue Sep 17 2013 12:22:55 GMT+0800 (中國標準時間)"

parse()

parse() 方法可解析一個日期時間字符串,并返回 1970/1/1 午夜距離該日期時間的毫秒數(shù)。

Date.parse(datestring)

參數(shù)datestring是必需的,表示日期和時間的字符串。

注意,該方法是 Date 對象的靜態(tài)方法。一般采用 Date.parse() 的形式來調(diào)用,而不是通過 dateobject.parse() 調(diào)用該方法。

復(fù)制代碼 代碼如下:

console.log(Date.parse(Date()));        //1379392301000
console.log(Date.parse("Aug 9, 1995")); //807897600000

UTC()

UTC() 方法可根據(jù)世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數(shù)。

Date.UTC(year, month, day, hours, minutes, seconds, ms)

參數(shù)year是必需的,表示年份的四位數(shù)字;month是必需的,表示月份的整數(shù),介于 0 ~ 11;day是可選的,表示日期的整數(shù),介于 1 ~ 31;hours是可選的,表示小時的整數(shù),介于 0 ~ 23;minutes是可選的,表示分鐘的整數(shù),介于 0 ~ 59;seconds是可選的,表示秒的整數(shù),介于 0 ~ 59;ms是可選的,表示毫秒的整數(shù),介于 0 ~ 999。

Date.UTC() 是一種靜態(tài)方法。Date.UTC() 方法的參數(shù)指定日期和時間,它們都是 UTC 時間,處于 GMT 時區(qū)。指定的 UTC 時間將轉(zhuǎn)換成毫秒的形式,這樣構(gòu)造函數(shù) Date() 和方法 Date.setTime() 就可以使用它了。

ECMAScript中的Date類型是早期Java中的Java.util.Date類基礎(chǔ)上構(gòu)建的。為此,Date類型使用來自UTC(Coordinated Universal Time,國際協(xié)調(diào)時間)1970年1月1日午夜(零時)開始經(jīng)過的毫秒數(shù)來保存日期。在使用這種數(shù)據(jù)存儲格式的條件下,Date類型保存的日期能夠精確到1970年1月1日之前或之后的285616年。

注意:parse()日期和時間都基于本地時區(qū)而非GMT來創(chuàng)建。而UTC()是基于GMT來創(chuàng)建。他們的參數(shù)也不相同。

GMT:世界時,即格林尼治所在地的標準時間。

復(fù)制代碼 代碼如下:

var d = new Date();

console.log(Date.parse(d));  //1379393562000
console.log(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()));  //1379422362020

ECMAScript5添加了Data.now()方法,返回表示調(diào)用這個方法時的日期和時間的毫秒數(shù)。IE9才開始支持,不過我們可以通過 + 操作符來把Data對象轉(zhuǎn)換成字符串,得到同樣的值。

復(fù)制代碼 代碼如下:

var d1 = Date.now();
var d2 = + new Date();

console.log(d1);  //1379393793104
console.log(d2);  //1379393793104

JavaScript中的日期轉(zhuǎn)換非常的詭異,不僅會因為參數(shù)不同而有不同的解釋結(jié)果,而且在各個瀏覽器中的表現(xiàn)也有所不同,如下:

復(fù)制代碼 代碼如下:

var d1 = new Date("2012/03/13");
var d2 = new Date("2012-03-13");
var d3 = new Date("2012-3-13");

console.log(d1);  //Tue Mar 13 2012 00:00:00 GMT+0800 (中國標準時間)
console.log(d2);  //Tue Mar 13 2012 08:00:00 GMT+0800 (中國標準時間)
console.log(d3);  //Tue Mar 13 2012 00:00:00 GMT+0800 (中國標準時間)

在不同瀏覽器中的表現(xiàn)參考:http://dygraphs.com/date-formats.html

為了避免這些問題,請遵照下面的建議:

1.堅持使用 ”YYYY/MM/DD” 的日期字符串格式
2.避免使用帶有連字號的日期字符串格式”YYYY-MM-DD”
3.要指定四位數(shù)的年份
4.Chrome瀏覽器的比其他瀏覽器能接受更多的日期字符串,所以如果在Chrome瀏覽器沒有問題,不代表其他瀏覽器沒有問題

更多信息可以參考:JavaScript and Dates, What a Mess!SO中的討論

get系列方法

getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。
getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)。
getMonth() 從 Date 對象返回月份 (0 ~ 11)。
getFullYear() 從 Date 對象以四位數(shù)字返回年份。注意不要使用getYear()。
getHours() 返回 Date 對象的小時 (0 ~ 23)。
getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。
getSeconds() 返回 Date 對象的秒數(shù) (0 ~ 59)。
getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒數(shù)。
getTimezoneOffset() 返回本地時間與格林威治標準時間 (GMT) 的分鐘差。
getUTCDate() 根據(jù)世界時從 Date 對象返回月中的一天 (1 ~ 31)。
getUTCDay() 根據(jù)世界時從 Date 對象返回周中的一天 (0 ~ 6)。
getUTCMonth() 根據(jù)世界時從 Date 對象返回月份 (0 ~ 11)。
getUTCFullYear() 根據(jù)世界時從 Date 對象返回四位數(shù)的年份。
getUTCHours() 根據(jù)世界時返回 Date 對象的小時 (0 ~ 23)。
getUTCMinutes() 根據(jù)世界時返回 Date 對象的分鐘 (0 ~ 59)。
getUTCSeconds() 根據(jù)世界時返回 Date 對象的秒鐘 (0 ~ 59)。
getUTCMilliseconds() 根據(jù)世界時返回 Date 對象的毫秒(0 ~ 999)。

set系列方法

setDate() 設(shè)置 Date 對象中月的某一天 (1 ~ 31)。
setMonth() 設(shè)置 Date 對象中月份 (0 ~ 11)。
setFullYear() 設(shè)置 Date 對象中的年份(四位數(shù)字)。注意不要使用setYear()方法。
setHours() 設(shè)置 Date 對象中的小時 (0 ~ 23)。
setMinutes() 設(shè)置 Date 對象中的分鐘 (0 ~ 59)。
setSeconds() 設(shè)置 Date 對象中的秒鐘 (0 ~ 59)。
setMilliseconds() 設(shè)置 Date 對象中的毫秒 (0 ~ 999)。
setTime() 以毫秒設(shè)置 Date 對象。
setUTCDate() 根據(jù)世界時設(shè)置 Date 對象中月份的一天 (1 ~ 31)。
setUTCMonth() 根據(jù)世界時設(shè)置 Date 對象中的月份 (0 ~ 11)。
setUTCFullYear() 根據(jù)世界時設(shè)置 Date 對象中的年份(四位數(shù)字)。
setUTCHours() 根據(jù)世界時設(shè)置 Date 對象中的小時 (0 ~ 23)。
setUTCMinutes() 根據(jù)世界時設(shè)置 Date 對象中的分鐘 (0 ~ 59)。
setUTCSeconds() 根據(jù)世界時設(shè)置 Date 對象中的秒鐘 (0 ~ 59)。
setUTCMilliseconds() 根據(jù)世界時設(shè)置 Date 對象中的毫秒 (0 ~ 999)。

toString系列方法

toString() 把 Date 對象轉(zhuǎn)換為字符串,toString()總是返回一個用美式英語表達的字符串。
toTimeString() 把 Date 對象的時間部分轉(zhuǎn)換為字符串。
toDateString() 把 Date 對象的日期部分轉(zhuǎn)換為字符串。
toUTCString() 根據(jù)世界時,把 Date 對象轉(zhuǎn)換為字符串。
toLocaleString() 根據(jù)本地時間格式,把 Date 對象轉(zhuǎn)換為字符串。
toLocaleTimeString() 根據(jù)本地時間格式,把 Date 對象的時間部分轉(zhuǎn)換為字符串。
toLocaleDateString() 根據(jù)本地時間格式,把 Date 對象的日期部分轉(zhuǎn)換為字符串。

復(fù)制代碼 代碼如下:

var d = new Date();

console.log(d);                      //Tue Sep 17 2013 13:37:04 GMT+0800 (中國標準時間)
console.log(d.toString());           //Tue Sep 17 2013 13:37:04 GMT+0800 (中國標準時間)
console.log(d.toTimeString());       //13:37:04 GMT+0800 (中國標準時間)
console.log(d.toDateString() );      //Tue Sep 17 2013
console.log(d.toUTCString());        //Tue, 17 Sep 2013 05:37:04 GMT
console.log(d.toLocaleString());     //2013年9月17日 下午1:37:04
console.log(d.toLocaleTimeString()); //下午1:37:04
console.log(d.toLocaleDateString()); //2013年9月17日

注意toLocaleString()系列方法可以接收參數(shù),來確定按照什么習(xí)慣來輸出,參考:MDN

復(fù)制代碼 代碼如下:

var d = new Date();

console.log(d.toLocaleString("ko-KR"));  //2013년 9월 17일 오후 1:48:24

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临汾市| 蒙城县| 天长市| 固始县| 南投市| 宁国市| 阿拉善左旗| 仁寿县| 将乐县| 西乡县| 敦煌市| 磴口县| 张家界市| 郑州市| 卢氏县| 栖霞市| 清水河县| 达州市| 唐海县| 沂源县| 广汉市| 乐昌市| 余姚市| 宜章县| 陇西县| 洪雅县| 黄石市| 方城县| 文昌市| 三门峡市| 江川县| 八宿县| 岢岚县| 澳门| 临颍县| 兴文县| 阿城市| 祥云县| 大同县| 八宿县| 平塘县|