[TOC] #### 1. 日期對象 --- 首先,先認(rèn)識以下 Date 對象,這是 JS 的一個內(nèi)置對象,在 JS 中使用 Date 對象來表示一個時間 使用 `Date()` 構(gòu)造函數(shù)創(chuàng)建 Date 對象,省略參數(shù)時,默認(rèn)是當(dāng)前時間的 Date 對象 如果想要創(chuàng)建一個指定時間的 Date 對象,下面有多種寫法,根據(jù)項目場景選擇更合適的寫法即可: ```javascript // 當(dāng)前日期時間 let date = new Date() // 指定毫秒時間戳(此時參數(shù)必須是 Number類型, 不能是 String 類型) let date = new Date(1671260180580) // 標(biāo)準(zhǔn)日期時間格式 let date = new Date("2022-12-10 16:09:47") ``` #### 2. 日期對象方法 --- ```javascript // 創(chuàng)建日期對象 let date = new Date() // 四位數(shù)的年份,如:2022 let year = date.getFullYear() // 月份:0-11,0代表1月,1代表2月以此類推 let month = date.getMonth() // 月份中的第幾天(幾號):1-31 let day = date.getDate() // 一周中的第幾天:0-6(0是周日) let week = date.getDay() // 小時:0-23 let hours = date.getHours() // 分鐘:0-59 let minutes = date.getMinutes() // 秒數(shù):0-59 let seconds = date.getSeconds() // 毫秒:0-999 let milliseconds = date.getMilliseconds() // 從 1970-1-1 00:00:00 UTC 開始的毫秒數(shù) let timestamp = date.getTime() ``` #### 3. 獲取時間戳 --- JS 中的時間戳都是毫秒時間戳,下面是獲取毫秒時間戳的多種方式,任選一種即可 ```javascript Date.now() new Date().getTime() (new Date()).valueOf() Number(new Date()) ``` 獲取單位為秒的時間戳,只需將上面獲取到的毫秒時間戳轉(zhuǎn)為秒時間戳,即除以1000再做取整操作就可以了 ``` Math.round(new Date() / 1000) ``` #### 4. 日期時間格式 --- 下面是獲取當(dāng)前時間(標(biāo)準(zhǔn)日期時間格式),根據(jù)項目需求再做修改即可 ```javascript /** * 獲取當(dāng)前時間(標(biāo)準(zhǔn)日期時間格式) * 返回示例:2022-12-17 14:48:27 */ function getTime() { let date = new Date() let year = date.getFullYear() let month = date.getMonth() + 1 let day = date.getDate() let hours = date.getHours() let minutes = date.getMinutes() let seconds = date.getSeconds() let monAndDay = [month, day].map(item => item < 10 ? '0' + item : item).join('-') let time = [hours, minutes, seconds].map(item => item < 10 ? '0' + item : item).join(':') return year + '-' + monAndDay + ' ' + time } ``` PHP 中的的時間戳是10位數(shù)字的秒時間戳,下面是將10位的秒時間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時間格式的功能函數(shù) ```javascript /** * 將10位的秒時間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時間格式 */ function getTime(timestamp) { let date = new Date(timestamp * 1000) let year = date.getFullYear() let month = date.getMonth() + 1 let day = date.getDate() let hours = date.getHours() let minutes = date.getMinutes() let seconds = date.getSeconds() let monAndDay = [month, day].map(item => item < 10 ? '0' + item : item).join('-') let time = [hours, minutes, seconds].map(item => item < 10 ? '0' + item : item).join(':') return year + '-' + monAndDay + ' ' + time } ```