[TOC] #### 1. 日期对象 --- 首先,先认识以下 Date 对象,这是 JS 的一个内置对象,在 JS 中使用 Date 对象来表示一个时间 使用 `Date()` 构造函数创建 Date 对象,省略参数时,默认是当前时间的 Date 对象 如果想要创建一个指定时间的 Date 对象,下面有多种写法,根据项目场景选择更合适的写法即可: ```javascript // 当前日期时间 let date = new Date() // 指定毫秒时间戳(此时参数必须是 Number类型, 不能是 String 类型) let date = new Date(1671260180580) // 标准日期时间格式 let date = new Date("2022-12-10 16:09:47") ``` #### 2. 日期对象方法 --- ```javascript // 创建日期对象 let date = new Date() // 四位数的年份,如: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() // 秒数:0-59 let seconds = date.getSeconds() // 毫秒:0-999 let milliseconds = date.getMilliseconds() // 从 1970-1-1 00:00:00 UTC 开始的毫秒数 let timestamp = date.getTime() ``` #### 3. 获取时间戳 --- JS 中的时间戳都是毫秒时间戳,下面是获取毫秒时间戳的多种方式,任选一种即可 ```javascript Date.now() new Date().getTime() (new Date()).valueOf() Number(new Date()) ``` 获取单位为秒的时间戳,只需将上面获取到的毫秒时间戳转为秒时间戳,即除以1000再做取整操作就可以了 ``` Math.round(new Date() / 1000) ``` #### 4. 日期时间格式 --- 下面是获取当前时间(标准日期时间格式),根据项目需求再做修改即可 ```javascript /** * 获取当前时间(标准日期时间格式) * 返回示例: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位数字的秒时间戳,下面是将10位的秒时间戳转为标准日期时间格式的功能函数 ```javascript /** * 将10位的秒时间戳转为标准日期时间格式 */ 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 } ```