• 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分的时间

      

  • 相关阅读:
    洛谷 U141580 简化罗波切问题
    洛谷 U141578 维修电路
    洛谷 U140760 狭义公因子
    CF75C Modified GCD
    算法题-求解斐波那切数列的第N个数是几?
    算法题-求N的阶乘
    JAVA8新特性
    nginx启动脚本,手动编辑
    javah生成带有包名的头文件
    Matlab图像处理(03)-基本概念
  • 原文地址:https://www.cnblogs.com/CandyDChen/p/13741077.html
Copyright © 2020-2023  润新知