【javascript】引用類型-Date 類型

Date.parse()、Date.UTC()、Date.now()

  • Date.parse()方法接收一個(gè)表示日期的字符串參數(shù),然后嘗試根據(jù)這個(gè)字符串返回相應(yīng)日
    期的毫秒數(shù)
  • ECMA-262 沒有定義Date.parse()應(yīng)該支持哪種日期格式,因此這個(gè)方法的行為因?qū)崿F(xiàn)而異,而且通常是因地區(qū)而異
  • 如果傳入Date.parse()方法的字符串不能表示日期,那么它會(huì)返回NaN
var someDate = new Date(Date.parse("May 25, 2004"));
var someDate = new Date("May 25, 2004");//與上一行代碼等價(jià)
  • Date.UTC()方法同樣也返回表示日期的毫秒數(shù),但它與Date.parse()在構(gòu)建值時(shí)使用不同的信息
  • Date.UTC()的參數(shù)分別是年份、基于0的月份(一月是0,二月是1,以此類推)、月中的哪一天(1 到31)、小時(shí)數(shù)(0 到23)、分鐘、秒以及毫秒數(shù)。
  • 在這些參數(shù)中,只有前兩個(gè)參數(shù)(年和月)是必需的。如果沒有提供月中的天數(shù),則假設(shè)天數(shù)為1;如果省略其他參數(shù),則統(tǒng)統(tǒng)假設(shè)為0
// GMT 時(shí)間2000 年1 月1 日午夜零時(shí)
var y2k = new Date(Date.UTC(2000, 0));
// GMT 時(shí)間2005 年5 月5 日下午5:55:55
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
  • Data.now()返回表示調(diào)用這個(gè)方法時(shí)的日期和時(shí)間的毫秒數(shù)。
//取得開始時(shí)間
var start = Date.now();
//調(diào)用函數(shù)
doSomething();
//取得停止時(shí)間
var stop = Date.now(),
result = stop – start;
  • 支持Date.now()方法的瀏覽器包括IE9+、Firefox 3+、Safari 3+、Opera 10.5 和Chrome。在不支持它的瀏覽器中,使用+操作符把Date對(duì)象轉(zhuǎn)換成字符串,也可以達(dá)到同樣的目的。
//取得開始時(shí)間
var start = +new Date();
//調(diào)用函數(shù)
doSomething();
//取得停止時(shí)間
var stop = +new Date(),
result = stop - start;

繼承的方法

  • Date 類型重寫了toLocaleString()、toString()和valueOf()方法;但這些方法返回的值與其他類型中的方法不同
  • Date 類型的toLocaleString()方法會(huì)按照與瀏覽器設(shè)置的地區(qū)相適應(yīng)的格式返回日期和時(shí)間。時(shí)間格式中會(huì)包含AM 或PM,但不會(huì)包含時(shí)區(qū)信息,具體的格式會(huì)因?yàn)g覽器而異
  • toString()方法則通常返回帶有時(shí)區(qū)信息的日期和時(shí)間,其中時(shí)間一般以軍用時(shí)間(即小時(shí)的范圍是0 到23)表示。
  • Date 類型的valueOf()方法,則根本不返回字符串,而是返回日期的毫秒表示。因此,可以方便使用比較操作符(小于或大于)來比較日期值。
var date1 = new Date(2007, 0, 1); //"January 1, 2007"
var date2 = new Date(2007, 1, 1); //"February 1, 2007"
alert(date1 < date2); //true
alert(date1 > date2); //false

日期格式化方法

Date 類型還有一些專門用于將日期格式化為字符串的方法

  • toDateString()——以特定于實(shí)現(xiàn)的格式顯示星期幾、月、日和年;
  • toTimeString()——以特定于實(shí)現(xiàn)的格式顯示時(shí)、分、秒和時(shí)區(qū);
  • toLocaleDateString()——以特定于地區(qū)的格式顯示星期幾、月、日和年;
  • toLocaleTimeString()——以特定于實(shí)現(xiàn)的格式顯示時(shí)、分、秒;
  • toUTCString()——以特定于實(shí)現(xiàn)的格式完整的UTC 日期。
  • 以上這些字符串格式方法的輸出也是因?yàn)g覽器而異的

日期/時(shí)間組件方法

  • getTime() 返回表示日期的毫秒數(shù);與valueOf()方法返回的值相同
  • setTime(毫秒) 以毫秒數(shù)設(shè)置日期,會(huì)改變整個(gè)日期
  • getFullYear() 取得4位數(shù)的年份(如2007而非僅07)
  • getUTCFullYear() 返回UTC日期的4位數(shù)年份
  • getMonth() 返回日期中的月份,其中0表示一月,11表示十二月
  • getUTCMonth() 返回UTC日期中的月份,其中0表示一月,11表示十二月
  • setMonth(月) 設(shè)置日期的月份。傳入的月份值必須大于0,超過11則增加年份
  • setUTCMonth(月) 設(shè)置UTC日期的月份。傳入的月份值必須大于0,超過11則增加年份
  • getDate() 返回日期月份中的天數(shù)(1到31)
  • getUTCDate() 返回UTC日期月份中的天數(shù)(1到31)
  • setDate(日) 設(shè)置日期月份中的天數(shù)。如果傳入的值超過了該月中應(yīng)有的天數(shù),則增加月份
  • setUTCDate(日) 設(shè)置UTC日期月份中的天數(shù)。如果傳入的值超過了該月中應(yīng)有的天數(shù),則增加月份
  • getDay() 返回日期中星期的星期幾(其中0表示星期日,6表示星期六)
  • getUTCDay() 返回UTC日期中星期的星期幾(其中0表示星期日,6表示星期六)
  • getHours() 返回日期中的小時(shí)數(shù)(0到23)
  • getUTCHours() 返回UTC日期中的小時(shí)數(shù)(0到23)
  • getMinutes() 返回日期中的分鐘數(shù)(0到59)
  • getUTCMinutes() 返回UTC日期中的分鐘數(shù)(0到59)
  • setMinutes(分) 設(shè)置日期中的分鐘數(shù)。傳入的值超過59則增加小時(shí)數(shù)
  • setUTCMinutes(分) 設(shè)置UTC日期中的分鐘數(shù)。傳入的值超過59則增加小時(shí)數(shù)
  • getSeconds() 返回日期中的秒數(shù)(0到59)
  • getUTCSeconds() 返回UTC日期中的秒數(shù)(0到59)
  • setSeconds(秒) 設(shè)置日期中的秒數(shù)。傳入的值超過了59會(huì)增加分鐘數(shù)
  • setUTCSeconds(秒) 設(shè)置UTC日期中的秒數(shù)。傳入的值超過了59會(huì)增加分鐘數(shù)
  • getMilliseconds() 返回日期中的毫秒數(shù)
  • getUTCMilliseconds() 返回UTC日期中的毫秒數(shù)
  • setMilliseconds(毫秒) 設(shè)置日期中的毫秒數(shù)
  • setUTCMilliseconds(毫秒) 設(shè)置UTC日期中的毫秒數(shù)
  • getTimezoneOffset() 返回本地時(shí)間與UTC時(shí)間相差的分鐘數(shù)。

@七七 , javascript 基礎(chǔ)筆記
《javascript高級(jí)程序設(shè)計(jì)第3版》
百度云下載(鏈接: https://pan.baidu.com/s/1i51mHdb 密碼: b2q4

好好學(xué)習(xí)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容