Moment.js 常見用法,常見API


一、當前年

   moment().format("YYYY")   // 字符串 2020

   moment().year() / moment().get('year')  // 數字 2020

二、當前月

moment().format('MM')  // 九月的話,會顯示 字符串 09

moment().month() / moment().get('month') // 九月的話,會顯示 數字 8

三、當前星期幾

moment().format('dddd')  // 星期天的話,會顯示Sunday

moment().locale('zh-cn').format('dddd')  // 星期天的話,中文顯示星期日

moment().day() / moment().get('day')   // 星期天的話,會顯示 數字 0

moment().get('isoWeekday')   // 星期天的話,會顯示 數字 7

四、當前幾號

moment().date() / moment().get('date'  // 今天時27號,會顯示 數字 27

五、當前年月日

moment().format('YYYY-MM-DD')  // 會顯示2020-09-27

moment().format('YYYY/MM/DD')  // 會顯示2020/09/27

六、當前時分秒

moment().format('HH:mm:ss')  // 會顯示24小時制的時間17:19:55

moment().format('hh:mm:ss')  // 會顯示12小時制的時間05:19:55

七、當前月總天數

moment().daysInMonth()  // 九月小,只有三十天,會顯示 數字 30

八、當前時間戳

moment().format('X')  // 返回字符串,時間戳以秒為單位

moment().numx()  // 返回 數字,時間戳以秒為單位

moment().format('x')  // 返回字符串,時間戳以毫秒為單位

moment().valueOf('x')  // 返回 數字,時間戳以毫秒為單位

 

九、當前年月日時分秒

moment().toArray()  // 返回數組,[2020, 8, 27, 17, 40, 19, 364]

moment().toObject()  // 返回對象,{date: 27, hours: 17, milliseconds: 364, minutes: 40, months: 8, seconds: 19, years: 2020}

 

十、設置時間

1、設置年份(月(month)、天(date)、星期(weekday/isoWeekday)、小時(hours)、分鍾(minutes)、秒(seconds)同理)

moment().year(2019)  // 返回 Moment對象, 為2019年

moment().set('year', 2019)

moment().set({year: 2019})

moment().add(1, 'years') /  moment().add({years: 1}// 返回 Moment對象, 今年2020年,返回2021年

moment().subtract(1, 'years') /  moment().subtract({years: 1}) // 返回 Moment對象, 今年2020年,返回2021年

十一、轉化為JavaScript 原生Date對象

moment().toDate()

new Date(moment())

十二、比較

moment().diff(Moment | String | Number | Date | Array)

 

十三、需要獲取任意一天的起始和結束時間,0點和23:59:59這兩個時間的時間戳

1、獲取任意一天的開始時間

// time為某一天的時間戳
startTime(time) {
    const timeDate = new Date(time)
    return timeDate.setHours(0, 0, 0, 0)
}

2、 獲取任意一天的結束時間

endTime(time) {
    const timeDate = new Date(time)
    return timeDate.setHours(23, 59, 59, 999)
}

3、時間格式化轉換實用方法

export const formatDate = (timestamp, fmt) => {
  if (timestamp === null) {
    return null
  }
  if (typeof (timestamp) === 'string' && !/^\d*$/.test(timestamp)) {
    let lastIndexOf = timestamp.lastIndexOf('.')
    if (lastIndexOf > 0) {
      // 去掉毫秒,不然轉成Date對象會報錯
      timestamp = timestamp.substring(0, lastIndexOf)
    }
    timestamp = timestamp.replace(/-/g, '/')
  }
  let date = new Date(timestamp)
  let o = {
    'M+': date.getMonth() + 1, // 月份
    'd+': date.getDate(), // 日
    'h+': date.getHours(), // 小時
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
    'S': date.getMilliseconds() // 毫秒
  };
  let result = fmt;
  if (/(y+)/.test(result)) {
    result = result.replace(RegExp.$1, (date.getFullYear().toString()).substr(4 - RegExp.$1.length));
  }
  for (let k in o) {
    if (new RegExp(`(${k})`).test(result)) {
      result = result.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(o[k].toString().length));
    }
  }
  return result;
}
//formatDate(new Date().setHours(0, 0, 0, 0), 'yyyy-MM-dd hh:mm')---》 當天0時0分的時間
//formatDate(new Date().setHours(23, 59, 59, 999), 'yyyy-MM-dd hh:mm')---》 當天23時59分的時間

  

 


免責聲明!

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



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