JS中的日期類型


Date

1 創建日期對象

  • Date(),Date類型的構造函數

    在不給 Date 構造函數傳參數的情況下,創建的對象將保存當前日期和時間

    let now = new Date(); // Tue Dec 14 2021 09:51:47 GMT+0800 (中國標准時間)
    
    • 要基於其他日期和時間創建日期對象,必須傳入其毫秒表示(1970 年 1 月 1 日午夜之后的毫秒數)
    let someDate = new Date(597254400000);  // Mon Dec 05 1988 00:00:00 GMT+0800 (中國標准時間)
    
    • 如果參數是字符串,會后台調用Date.parse()
    let someDate = new Date("May 23, 2019");  // Mon Dec 05 1988 00:00:00 GMT+0800 (中國標准時間)
    
  • Date.parse(),字符串日期轉毫秒

    • 參數是表示日期的字符串參數,參數支持如下格式
      • “月/日/年”,如"5/23/2019";
      • “月名 日, 年”,如"May 23, 2019";
    • 返回值是這個日期距離1970 年 1 月 1 日午夜的毫秒數
    let date1 = Date.parse('12/5/1969'); // -2361600000
    let date2 = Date.parse('12/5/1988'); // 597254400000
    
  • Date.now(),返回表示方法執行時日期和時間的毫秒數,可以用在代碼分析中

    // 起始時間
    let start = Date.now();
    // 調用函數
    doSomething();
    // 結束時間
    let stop = Date.now(),
    result = stop - start;
    
  • Date.UTC(),也返回日期的毫秒表示,和Date.parse的參數不同,也會被Date()隱式調用

    • 參數只傳年、月,默認日為1,可以傳年月日時分秒,月從0開始
    • 返回值是GMT時間,谷歌瀏覽器會轉成中國標准時間
    let y2k = new Date(Date.UTC(2000, 0));  // Sat Jan 01 2000 08:00:00 GMT+0800 (中國標准時間)
    let allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));  // Thu May 05 2005 08:55:55 GMT+0800 (中國標准時間)
    
    • Date(),隱式調用
    let y2k = new Date(2000, 0);  // Sat Jan 01 2000 08:00:00 GMT+0800 (中國標准時間)
    
  • valueOf,日期可以比大小,Date對象的valueOf()會返回毫秒數

2 日期/時間方法

方法名 返回值
getTime() 返回日期的毫秒表示;與 valueOf()相同
setTime(milliseconds) 設置日期的毫秒表示,從而修改整個日期
getFullYear() 返回 4 位數年(即 2019 而不是 19)
setFullYear(year) 設置日期的年(year 必須是 4 位數)
getMonth() 返回日期的月(0 表示 1 月,11 表示 12 月)
setMonth(month) 設置日期的月(month 為大於 0 的數值,大於 11 加年)
getDate() 返回日期中的日(1~31)
setDate(date) 設置日期中的日(如果 date 大於該月天數,則加月)
getDay() 返回 UTC 日期中表示周幾的數值(0 表示周日,6 表示周六)
getHours() 返回日期中的時(0~23)
setHours(hours) 設置日期中的時(如果 hours 大於 23,則加日)
getMinutes() 返回日期中的分(0~59)
setMinutes(minutes) 設置日期中的分(如果 minutes 大於 59,則加時)
getSeconds() 返回日期中的秒(0~59)
setSeconds(seconds) 設置日期中的秒(如果 seconds 大於 59,則加分)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM