• 【转】moment js 使用


    原文:https://blog.csdn.net/qq_38933412/article/details/82879127

    案例:本例是在vue中格式化日期

    1,在main.js中引入moment

    import moment from 'moment';
    import 'moment/locale/zh-cn';
    
    
    moment.locale('zh-cn');
    Object.defineProperty(Vue.prototype, '$moment', { value: moment });
    

      

    2,使用moment

    例如:let startDate = this.$moment('2018-09-27').format(YYYY-MM-DD);

    moment使用详解:

    格式化日期

    当前时间:

    moment().format('YYYY-MM-DD HH:mm:ss'); //2014-09-24 23:36:09 
    • 今天是星期几:
    moment().format('d'); //3 
    • 转换当前时间的Unix时间戳:
    moment().format('X'); 

    相对时间

    20120901相对当前日期是2年前

    moment("20120901", "YYYYMMDD").fromNow(); //2 years ago      
    • 7天前的日期:
    moment().subtract('days',7).format('YYYY年MM月DD日'); //2014年10月01日
    • 7天后的日期:
    moment().add('days',7).format('YYYY年MM月DD日'); //2014年10月01日
    • 9小时前的时间:
    moment().subtract('hours',9).format('HH:mm:ss'); 
    • 9小时后的时间:
    moment().add('hours',9).format('HH:mm:ss'); 
    • moment.js提供了丰富的说明文档,使用它还可以创建日历项目等复杂的日期时间应用。我们日常开发中最常用的是格式化时间,下面我把常用的格式制作成表格说明供有需要的朋友查看
    格式代码说明返回值例子
    M 数字表示的月份,没有前导零 1到12
    MM 数字表示的月份,有前导零 01到12
    MMM 三个字母缩写表示的月份 Jan到Dec
    MMMM 月份,完整的文本格式 January到December
    Q 季度 1到4
    D 月份中的第几天,没有前导零 1到31
    DD 月份中的第几天,有前导零 01到31
    d 星期中的第几天,数字表示 0到6,0表示周日,6表示周六
    ddd 三个字母表示星期中的第几天 Sun到Sat
    dddd 星期几,完整的星期文本 从Sunday到Saturday
    w 年份中的第几周 如42:表示第42周
    YYYY 四位数字完整表示的年份 如:2014 或 2000
    YY 两位数字表示的年份 如:14 或 98
    A 大写的AM PM AM PM
    a 小写的am pm am pm
    HH 小时,24小时制,有前导零 00到23
    H 小时,24小时制,无前导零 0到23
    hh 小时,12小时制,有前导零 00到12
    h 小时,12小时制,无前导零 0到12
    m 没有前导零的分钟数 0到59
    mm 有前导零的分钟数 00到59
    s 没有前导零的秒数 1到59
    ss 有前导零的描述 01到59
    X Unix时间戳 1411572969

    Moment.js 写法示例

    Moment.js 是我用过的最好用的操作时间的工具库。它使得操作时间变得很简单。

    创建

    moment() // 当前时间
    moment("1995-12-25") // 1995-12-25
    moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
    moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
    moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天
    moment(new Date(2011, 9, 16)) // 2011-10-16

    格式化

    moment().format('YYYY年MM月DD日 HH:mm:ss') // 2016年11月11日 22:05:19
    moment().format('hh:m:ss') // 10:5:19
    moment().format('[YYYY]') // "YYYY"。[] 里的会原样输出。
    

      

    转化成 Date 对象

    moment().toDate()
    

      

    获取/设置时间信息

    moment().second() //获得 秒
    moment().second(Number) //设置 秒。0 到 59
    moment().minute() //获得 分
    moment().minute(Number) //设置 分。0 到 59
    // 类似的用法
    moment().hour() // 小时
    moment().date() // 一个月里的第几天
    moment().day() // 星期几
    moment().dayOfYear() // 一年里的第几天
    moment().week() // 一年里的第几周
    moment().month() // 第几个月
    moment().quarter() // 一年里的第几个季度
    moment().year() // 年
    moment().daysInMonth() // 当前月有多少天
    

      

    操作

    moment().add(7, 'days') // 之后的第7天。第2个参数还可以是 'months', 'years' 等。注意是复数。
    moment().add(7, 'd')// 与上面一行代码的运行结果一样。
    moment().subtract(1, 'months') // 上个月
     
    moment().startOf('week') // 这周的第一天
    moment().startOf('hour') // 等效与 moment().minutes(0).seconds(0).milliseconds(0)。
    // 还支持 'year','month' 等
     
    moment().endOf('week')
    

      

    查询

    // 早于
    moment('2010-10-20').isBefore('2010-10-21') // true
    moment('2010-10-20').isBefore('2010-12-31', 'year') // false
    moment('2010-10-20').isBefore('2011-01-01', 'year') // true
     
    // 是否相等
    moment('2010-10-20').isSame('2010-10-20') // true
    moment('2010-10-20').isSame('2009-12-31', 'year')  // false
    moment('2010-10-20').isSame('2010-01-01', 'year')  // true
     
    // 晚于
    moment('2010-10-20').isAfter('2010-10-19') // true
    moment('2010-10-20').isAfter('2010-01-01', 'year') // false
    moment('2010-10-20').isAfter('2009-12-31', 'year') // true
     
    // 是否在时间范围内
    moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
    moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
    moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true
     
    moment().isLeapYear() // 是否是闰年
    

      

  • 相关阅读:
    TestNg线程池配置、执行次数配置、超时配置
    testng.xml文件结构组成及节点属性说明
    ReportNg 测试报告的定制修改【转】
    TestNg依赖详解(三)------灵活的文件配置依赖
    TestNg依赖高级用法之强制依赖与顺序依赖------TestNg依赖详解(二)
    TestNg依赖配置基础用法(单一方法依赖)------TestNg依赖详解(一)
    compareTo,Comparator和equals
    HashMap源码解析
    redis的相关知识
    IO模型
  • 原文地址:https://www.cnblogs.com/ycc1/p/13878252.html
Copyright © 2020-2023  润新知