Date ()是一个专门用来创建时间对象的,是一个复杂数据类型,具有读写属性
语法: var time = new Date()
返回值:当前终端的时间
// 1.创建当前时间对象 var time = new Date() // 2.创建指定日期的时间对象,至少传递两个参数,分别是:年,月,日,时,分,秒,毫秒 需要注意的是这里的月是从0开始的
// 如果输入的数字超出范围会自定进位 var time = new Date(2021,1,1,12,30,30,999)
// 3.通过传递字符串创建,下面的月份是从1开始的
var time = new Date(‘2020-12-12 12:12:12‘)
var time = new Date(‘2020/12/12 12:12:12‘)
// 4.通过时间戳创建
var time = new Date(1666666666666)
获取时间对象的方法:
1.getFullYear() 语法:时间对象.getFullYear() 返回值:获取当前年份信息 number数据类型 2.getMonth() 语法:时间对象.getMonth() 返回值:获取当前月份信息,0-11 number数据类型 3.getDate() 语法:时间对象.getDate() 返回值:获取当前日信息 1-31 number数据类型 4.getHours() 语法:时间对象.getHours() 返回值:获取当前小时信息,0-23 number数据类型 5.getMinutes() 语法:时间对象.getMinutes() 返回值:获取当前分钟信息 0-59 number数据类型 6.getSeconds() 语法:时间对象.getSeconds() 返回值:获取当前秒钟信息,0-59 number数据类型 7.getMilliseconds() 语法:时间对象.getMilliseconds() 返回值:获取当前毫秒信息 0-999 number数据类型 //前面多了个UTC获取到的是标准时间,中国时区会多8小时
8.getUTCFullYear()
语法:时间对象.getUTCFullYear()
返回值:获取UTC模式下的年份信息 number数据类型
9.getUTCMonth()
语法:时间对象.getUTCMonth()
返回值:获取UTC模式下的月份信息,0-11 number数据类型
10.getUTCDate()
语法:时间对象.getUTCDate()
返回值:获取UTC模式下的日信息 1-31 number数据类型
11.getUTCHours()
语法:时间对象.getUTCHours()
返回值:获取UTC模式下的小时信息,0-23 number数据类型
12.getUTCMinutes()
语法:时间对象.getUTCMinutes()
返回值:获取UTC模式下的分钟信息 0-59 number数据类型
13.getUTCSeconds()
语法:时间对象.getUTCSeconds()
返回值:获取UTC模式下的秒钟信息,0-59 number数据类型
14.getUTCMilliseconds()
语法:时间对象.getUTCMilliseconds()
返回值:获取UTC模式下的毫秒信息 0-999 number数据类型
15.getDay() 语法:时间对象.getDay() 返回值:该时间对象的周信息,0-6 number数据类型 16.getTime() 语法:时间对象.getTime() 返回值:该时间对象的时间戳, number数据类型 //时间对象到时间元年过了多少毫秒
设置时间对象信息的方法
1.setFullYear() 语法:时间对象.setFullYear(要设置的年) 作用:修改该对象的年份信息 2.setMonth() 语法:时间对象.setMonth(要设置的) 作用:修改该对象的月份信息,0-11 3.setDate() 语法:时间对象.setDate(要设置的) 作用:修改该对象的日信息 1-31 number数据类型 4.setHours() 语法:时间对象.setHours(要设置的) 作用:修改该对象的小时信息,0-23 number数据类型 5.setMinutes() 语法:时间对象.setMinutes(要设置的) 作用:修改该对象的分钟信息 0-59 number数据类型 6.setSeconds() 语法:时间对象.setSeconds(要设置的) 作用:修改该对象的秒钟信息,0-59 number数据类型 7.setMilliseconds() 语法:时间对象.setMilliseconds(要设置的) 作用:修改该对象的毫秒信息 0-999 number数据类型 //还有一套一样的 前面多了个UTC设置标准时间,中国时区会多8小时 //时间对象.setUTCxxxx() 8.setDay() 语法:时间对象.setDay(要设置的) 作用:修改该对象的周几信息,0-6 number数据类型 9.setTime() 语法:时间对象.setTime(时间戳) 作用:直接定位到指定时间 //时间对象到时间元年过了多少毫秒
计算两个时间的时间差----两个时间节点之间相差xx天xx时xx分xx秒
准备两个时间对象,一个现在的,一个将来或者过去的
let time1 = new Date(); let time2 = new Date(‘2018-7-27 21:27:27‘); // 使用时间戳相减 let diffTime = time1.getTime() - time2.getTime(); // 取绝对值后求秒数在取整 diffTime = Math.round(Math.abs(diffTime) / 1000 ); console.log(Math.abs(diffTime)); //换算 let year = parseInt(diffTime / ( 60 * 60 * 24 * 30 * 12) ) let month = parseInt(diffTime % ( 60 * 60 * 24 * 30 * 12) / ( 60 * 60 * 24 * 30)) let day = parseInt(diffTime % ( 60 * 60 * 24 * 30)/ ( 60 * 60 * 24 )) let hours = parseInt(diffTime % ( 60 * 60 * 24 ) / ( 60 * 60 )) let minutes = parseInt(diffTime % ( 60 * 60 ) / 60 ) let secondes = parseInt(diffTime % 60)
console.log("两个时间相差"+year+"年"+month+"月"+day+"天"+hours+"小时"+minutes+"分钟"+secondes+"秒")