與其他引用類型一樣,Date類型也重寫了toLocaleString()、toString()和valueOf()方法;但這些方法返回的值與其他類型中的方法不同。Date類型的toLocaleString()方法會(huì)按照與瀏覽器設(shè)置的地區(qū)相適應(yīng)的格式返回日期和時(shí)間。這大致意味著時(shí)間格式中會(huì)包含AM或PM,但不會(huì)包含時(shí)區(qū)信息(當(dāng)然,具體的格式會(huì)因?yàn)g覽器而異)。而toString()方法則通常返回帶有時(shí)區(qū)信息的日期和時(shí)間,其中時(shí)間一般以軍用時(shí)間(即小時(shí)的范圍是0到23)表示。以下給出了在不同瀏覽器中調(diào)用toLocaleString()和toString()方法,輸出PST (Pacific Standard Time,太平洋標(biāo)準(zhǔn)時(shí)間)時(shí)間2007年2月1日午夜零時(shí)的結(jié)果:
Internet Explorer 7
toLocaleString() - Thursday, February 01, 2007 12:00:00 AM
toString() - Thu Feb 1 00:00:00 PST 2007
Firefox 2
toLocaleString() - Thursday, February 01, 2007 12:00:00 AM
toString() - Thu Feb 01 2007 00:00:00 GMT - 0800 (Pacific Standard Time)
Safari3
toLocaleString() - Thursday, February 01, 2007 00:00:00
toString() - Thu Feb 01 2007 00:00:00 GMT - 0800 (Pacific Standard Time)
Chrome 0.2
toLoc:aleString() - Thu Feb 01 2007 00:00:00 GMT - 0800 (Pacific Standard Time)
toString() - Thu Feb 01 2007 00:00:00 GMT - 0800 (Pacific Standard Time)
Opera 9
toLocaleString()-2 /1/2007 12: 00: 00 AM
toString() - Thu, 01 Feb 2007 00:00:00 GMT - 0800
顯然,這兩個(gè)方法在不同的瀏覽器中返回的日期和時(shí)間格式可謂大相徑庭。事實(shí)上,toLocaleString()和toString()的這一差別僅在調(diào)試代碼時(shí)比較有用,而在顯示日期和時(shí)間時(shí)沒(méi)有什么價(jià)值。 至于Date類型的valueOf()方法,則根本不返回字符串,而是返回日期的毫秒表示。因此,可以方便使用比較操作符(小于或大于)來(lái)比較日期值。請(qǐng)看下面的例子:
var datel=new Date(2007, 0, 1); //"January l,2007"
var date2=new Date(2007, 1, 1); //"February l,2007"
alert(datel alert (datel>date2); //false
從邏輯上講,2007年1月1日要早于2007年2月1日,此時(shí)如果我們說(shuō)前者小于后者比較符合常理。而表示2007年1月1日的毫秒值小于表示2007年2月1日的毫秒值,因此在首先使用小于操作符比較日期時(shí),返回的結(jié)果是true。這樣,就為我們比較日期提供了極大方便。
希望本文對(duì)廣大站長(zhǎng)或從事企業(yè)網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌網(wǎng)站建設(shè)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長(zhǎng)和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。