创建时间对象
时间对象的创建: new Date() 括号里如果不传参就是本机的时间
- 如果需要传递参数,分为两种形式
- 数字: 至少要传递两个值,年 和 月(月份是0-11)
- 字符串: 可以传递一个参数(月份是1-12)
var timer = new Date()
console.log(timer) // 这里没有传参,就是本地时间
// 1: 数字形式传参
var timer1 = new Date(2022,11,12,08,08,08) // 这里是年月日时分秒
console.log(timer1) // 控制台输出的是12月,比实际写的多一个月
// 2: 字符串形式传参
var timer2 = new Date('2020-1-15 13:15:15')
console.log(timer2) // 输出的是实际输入的月份
封装一个函数,格式化时间对象
function getTime () {
var timer = new Date() // 创建一个时间对象
var year = timer.getFullYear() // 得到时间对象中的年份
year < 10 ? '0' + year : year
var month = timer.getMonth() + 1 // 得到时间对象中的月份
month < 10 ? '0' + month : month
var date = timer.getDate() // 得到时间对象中的哪一天
date < 10 ? '0' + date : date
var hours = timer.getHours() // 得到时间对象中的小时
hours < 10 ? '0' + hours : hours
var minutes = timer.getMinutes() // 得到时间对象中的分钟
minutes < 10 ? '0' + minutes : minutes
var seconds = timer.getSeconds() // 得到时间对象中的秒
seconds < 10 ? '0' + seconds : seconds
var arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
var day = timer.getDay() //得到时间对象中的 一周的第几天(周日为0,周六为6)
return '今天是' + year + '年' + month + '月' + date + '日' + arr[day]
}
console.log(getTime())
计算两个时间的时间差
// 比如计算 2023 年 1 月 1 日到当前的时间差
var times = new Date('2023-1-1')
var nowTime = new Date()
var time1 = times.getTime() // 过去的毫秒数
var time2 = nowTime.getTime() // 现在的毫秒数
var timer = time2 - time1
// 求过去了多少天
var days = 1000 * 60 * 60 * 24
var day = parseInt(timer / days)
console.log(day);
timer = timer - days * day
// 求过去了多少小时
var hour = 1000 * 60 * 60
var hours = parseInt(timer / hour)
console.log(hours);
timer = timer - hour * hours
// 求过去了多少分钟
var minute = 1000 * 60
var minutes = parseInt(timer / mount )
console.log(minutes);