// 不传参
var timer = new Date()
console.log(timer) // Wed Jan 04 2023 14:12:28 GMT+0800 (中国标准时间)
// 1. 数字
// 年 月 天 时 分 秒
var timer = new Date(1999, 00, 31, 23, 59, 59)
console.log(timer)
// 2. 字符串
var timer = new Date('2019-02-13 13:14:15')
console.log(timer)
获取时间对象
var timer = new Date()
// 获取 年
console.log(timer.getFullYear())
// 获取 月 (0~11)
console.log(timer.getMonth())
// 获取 日
console.log(timer.getDate())
// 获取 周几
console.log(timer.getDay())
// 获取时分秒
console.log(timer.getHours())
console.log(timer.getMinutes())
console.log(timer.getSeconds())
设置时间对象
var timer = new Date()
// 设置 年
timer.setFullYear(2008)
// var year = timer.getFullYear()
console.log(timer.getFullYear()) // 2023 / 2008
// 设置 月
timer.setMonth(12)
console.log(timer.getMonth(), 111)
// 设置 当月的第几天
timer.setDate(20)
console.log(timer.getDate())
// 注意, 没有设置 本周的第几天
// 设置 时
timer.setHours(21)
console.log(timer.getHours())
// 设置 分
timer.setMinutes(30)
console.log(timer.getMinutes())
// 设置 秒
timer.setSeconds(40)
console.log(timer.getSeconds())
// 设置 毫秒
timer.setMilliseconds(888)
console.log(timer.getMilliseconds())
// 直接设置 到 1970 的总毫秒
timer.setTime(123456789)
console.log(timer.getTime())
// 1.1 先获取到两个指定的时间
var prevTime = new Date('2023-1-1 0:0:0')
var curentTime = new Date()
// 1.2 获取到两个时间距离1970的毫秒数
var prevTimerMilli = prevTime.getTime()
var curentTimeMilli = curentTime.getTime()
// 2. 计算两个毫秒的差值
var time = curentTimeMilli - prevTimerMilli
var oneDayMilli = 1000 * 60 * 60 * 24 // 一天的毫秒数
var day = parseInt(time / oneDayMilli) // 有多少个完整的天
time = time - day * oneDayMilli // 剩余 不足一天的毫秒数
/**
* 4. 用剩余不足一天的毫秒数 去计算出里边还有多少完整的小时
* parseInt(time / 一小时的毫秒数) === 有多少个完整的小时
*
* 剩余不足一小时的毫秒数 === 总毫秒 - 完整的小时 * 一小时的毫秒数
*/
var oneHoursMilli = 1000 * 60 * 60 // 一小时的毫秒数
var hours = parseInt(time / oneHoursMilli) // 有多少完整的小时
time = time - hours * oneHoursMilli // 剩余 不足一小时的毫秒数
/**
* 5. 用剩余不足一小时的毫秒数 去计算出里边还有多少完整的分钟
* parseInt(time / 一分钟的毫秒数)
*
* 剩余不足一分钟的毫秒数 === 总毫秒 - 完整的分钟 * 一分钟的毫秒数
*/
var oneMinutesMilli = 1000 * 60 // 一分钟的毫秒数
var minutes = parseInt(time / oneMinutesMilli) // 有多少完整的分钟
time = time - minutes * oneMinutesMilli
// 6. 计算有多少完整的秒 parseInt(time / 一秒钟的毫秒数)
var seconds = parseInt(time / 1000)
console.log('两个时间相差 ', day, '天', hours, '小时', minutes, '分钟', seconds, '秒')
// 定义两个时间对象
var time1 = new Date();
var time2 = new Date('2022-12-1 12:12:12')
// 获取时间差
function diffTime(t1, t2) {
var res = Math.ceil(Math.abs(t1 - t2) / 1000)
return {
day : parseInt(res / (60 * 60 * 24)),
hours : parseInt(res % (60 * 60 * 24) / ( 60 * 60 )),
minutes : parseInt(res % ( 60 * 60 ) / 60),
second : res % 60
}
}
// 结果
var res = diffTime(time1, time2)
// 两个时间对象相差 xx 天 xx 小时 xx 分钟 xx 秒钟
console.log(res);