Vue.js----date與時間戳的轉換(unixTime)Moment.js讓日期處理變得更簡單


當前日期格式化

let curTime = moment().format('YYYY-MM-DD HH:mm:ss')
console.log('當前日期時間curTime:' + curTime)//curTime:2019-01-30 10:21:11

指定日期格式化

let a = '20190130'
let aFormat = moment(a).format('YYYY-MM-DD')
console.log('aFormat:' + aFormat)//aFormat:2019-01-30

日期操作

//距離當前時間:七天
let sevenDaysAgo = moment().subtract(7, 'days').format('YYYY-MM-DD')
console.log('sevenDaysAgo:' + sevenDaysAgo)//sevenDaysAgo:2019-01-23

//距離當前時間:一周         
let oneWeekAgo = moment().subtract(1, 'weeks').format('YYYY-MM-DD')
console.log('oneWeekAgo:' + oneWeekAgo)//oneWeekAgo:2019-01-23

//距離當前時間:三個月                    
let threeMonthsAgo = moment().subtract(3, "months").format("YYYY-MM-DD")
console.log('threeMonthsAgo:' + threeMonthsAgo)//threeMonthsAgo:2018-10-30

//距離當前時間:一年                 
let oneYearAgo = moment().subtract(1, "years").format("YYYY-MM-DD")
console.log('oneYearAgo:' + oneYearAgo)//oneYearAgo:2018-01-30
減法,對應於:subtract()方法
加法,對應於:add()方法

根據身份證號碼獲得周歲年齡

let idCardNumber = '234567199302019929'
let birthday = idCardNumber.slice(6, 14)
console.log('出生日期:' + birthday)//出生日期:19930201
console.log('當前日期:' + moment().format("YYYY-MM-DD"))//當前日期:2019-01-30
let age = moment().diff(moment(birthday), 'years')
console.log('周歲年齡:' + age)//周歲年齡:25

日期與時間戳之間的轉換

當涉及到日期的時間軸拖拽,那么通常需要把日期轉換成時間戳來進行操作

//將日期轉換成時間戳   
//moment().valueOf()  
//new Date().getTime()  
//Date.parse(new Date())

let timestamp1 = moment().unix();
let timestamp2 = moment().valueOf();
let timestamp3 = new Date().getTime();
let timestamp4 = Date.parse(new Date());

//將時間戳轉換成日期   moment(時間戳).format()

let timestampToDate1 = moment(timestamp1).format("YYYY-MM-DD");
let timestampToDate2 = moment(timestamp2).format("YYYY-MM-DD");
let timestampToDate3 = moment(timestamp3).format("YYYY-MM-DD");
let timestampToDate4 = moment(timestamp4).format("YYYY-MM-DD");

console.log('timestamp1:' + timestamp1);//timestamp1:1550657032
console.log('timestamp2:' + timestamp2);//timestamp2:1550657032279
console.log('timestamp3:' + timestamp3);//timestamp3:1550657032279
console.log('timestamp4:' + timestamp4);//timestamp4:1550657032000

console.log('timestampToDate1:' + timestampToDate1);//timestampToDate1:1970-01-19
console.log('timestampToDate2:' + timestampToDate2);//timestampToDate2:2019-02-20
console.log('timestampToDate3:' + timestampToDate3);//timestampToDate3:2019-02-20
console.log('timestampToDate4:' + timestampToDate4);//timestampToDate4:2019-02-20

 

由上面的案例測試可知:

  1. moment().unix() 獲得的時間戳單位為秒
  2. moment().valueOf() 等同於 new Date().getTime() 獲得的時間戳單位為毫秒
  3. Date.parse() 得到的值是以毫秒為單位的,且后三位默認為0,即不具體到毫秒
  4. 如果想將時間戳轉化為日期,moment的參數必須是毫秒為單位的,它就是識別為毫秒的,如果不是的話,會使結果出錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM