js時間對象Date()

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+"秒")