js中對時間的操作


我們先來看一下如何獲取當前時間:

var date = new Date()
//輸出:Tue Jul 02 2019 10:36:22 GMT+0800 (中國標准時間)

緊接着,我們來獲取相關參數

var date = new Date();
    console.log("今天的日期是:" + date)
    //今天的日期是:Tue Jul 02 2019 10:43:55 GMT+0800 (中國標准時間)
    var year = date.getFullYear(); //獲取當前年份
    console.log("今年是:" + year)
    // 今年是:2019
    var mon = date.getMonth() + 1; //獲取當前月份  
    console.log("這個月是:" + mon)
    // 這個月是:7
    var day = date.getDate(); //獲取當前日  
    console.log("今天是這個月的第" + day + "天")
    // 今天是這個月的第2天
    var weekday = date.getDay(); //獲取當前星期幾  
    console.log("今天是這周的第" + weekday + "天")
    // 今天是這周的第2天
    var h = date.getHours(); //獲取小時  
    console.log("現在是:" + h + "點")
    // 現在是:10點
    var m = date.getMinutes(); //獲取分鍾  
    console.log("當前是這個小時:" + m + "分鍾")
    // 當前是這個小時:43分鍾
    var s = date.getSeconds(); //獲取秒  
    console.log("當前是這個分種:" + s + "秒")
    // 當前是這個分種:55秒  

以上大概就是js中獲取相應時間參數的所有方法了吧。
不過,很多時候,我們是要用到計算兩個時間差的,經常會因為格式不匹配而出現各種問題,我們只要記住 三點:

  • 字符串之間是不能做數學運算的
  • 做差的兩個類型是相同的,也就是Date對象和Date對象,時間戳(long)和時間戳
    請看以下:

1.將其他格式轉為Date對象

通過傳入一個會被JavaScript解析的字符串來構造
console.log(new Date('September 7, 2018'))  // Fri Sep 07 2018 00:00:00 GMT+0800 (中國標准時間)
console.log(new Date('September 7, 2018, GMT+0800'))  // Fri Sep 07 2018 00:00:00 GMT+0800 (中國標准時間)

通過傳入一個毫秒數來構造
// 從Unix新紀元的時間創建日期
console.log(new Date(0))  // Thu Jan 01 1970 08:00:00 GMT+0800 (中國標准時間)
console.log(new Date(10000))  // Thu Jan 01 1970 08:00:10 GMT+0800 (中國標准時間)
console.log(new Date(1536307550023))  // Fri Sep 07 2018 16:05:50 GMT+0800 (中國標准時間)
// 使用負數創建新紀元之前的日期
console.log(new Date(-1536307550023))  // Tue Apr 26 1921 23:54:09 GMT+0800 (中國標准時間)

通過傳入一個特定的本地日期來構造
總的來說格式為: new Date(年, 月, 日, 時, 分, 秒)
// 月份是從0開始的,一月為0,二月為1,九月為8等等
console.log(new Date(2018, 8))  // Sat Sep 01 2018 00:00:00 GMT+0800 (中國標准時間)
console.log(new Date(2018, 8, 7))  // Fri Sep 07 2018 00:00:00 GMT+0800 (中國標准時間)
console.log(new Date(2018, 8, 7, 16))  // Fri Sep 07 2018 16:00:00 GMT+0800 (中國標准時間)
console.log(new Date(2018, 8, 7, 16, 7))  // Fri Sep 07 2018 16:07:00 GMT+0800 (中國標准時間)
console.log(new Date(2018, 8, 7, 16, 7, 50))  // Fri Sep 07 2018 16:07:50 GMT+0800 (中國標准時間)
console.log(new Date(2018, 8, 7, 16, 7, 50, 23))  // Fri Sep 07 2018 16:07:50 GMT+0800 (中國標准時間)

以上部分代碼轉自簡書,如有侵權,請聯系刪除

最后再說一個將時間本地化的方法

var date = new Date();
date.toLocaleString('zh-Hans-CN', {
    timeZone: "Asia/Beijing", 
    hourCycle: "h24",
    weekday: 'long', 
    year: 'numeric', 
    month: 'long', 
    day: 'numeric',
    hour: 'numeric',
    minute: 'numeric',
    second: 'numeric'
})

以上部分代碼轉自github,如有侵權,請聯系刪除


免責聲明!

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



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