DayJS的使用教程

  1. 安装

     
    npm install dayjs import dayjs from "dayjs";
  2. 获取当前日期

    dayjs().format(); //2024-01-16T09:04:27+08:00
  3. 获取年、月、日、时、分、秒、毫秒

    dayjs().year();     // 2024
    dayjs().momth();    // 1
    dayjs().();     // 16
    dayjs().hour();     // 9
    dayjs().minute();   // 12
    dayjs().second();   // 35
    dayjs().millisecond();   // 410

  4. 获取周、星期、季度

    dayjs().week();              // 3  今年第3周
    dayjs().day();               // 2   星期2
    dayjs().isoWeeksInYear();   // 52  今年周数
    
    //week 依赖插件weekOfYear
    var weekOfYear = require('dayjs/plugin/weekOfYear')
    dayjs.extend(weekOfYear)
    
    //isoWeeksInYear依赖插件isoWeeksInYear
    var isoWeeksInYear = require('dayjs/plugin/isoWeeksInYear')
    var isLeapYear = require('dayjs/plugin/isLeapYear') // dependent on isLeapYear plugin
    dayjs.extend(isoWeeksInYear)
    dayjs.extend(isLeapYear)

  5. 格式化

    格式

    输出

    说明

    格式

    输出

    说明

    YY

    18

    年,两位数

    hh

    01-12

    小时, 12 小时制, 两位数

    YYYY

    2018

    年,四位数

    m

    0-59

    分钟

    M

    1-12

    月,从1开始

    mm

    00-59

    分钟,两位数

    MM

    01-12

    月,两位数

    s

    0-59

    MMM

    Jan-Dec

    月,英文缩写

    ss

    00-59

    秒,两位数

    MMMM

    January-December

    月,英文全称

    S

    0-9

    毫秒(十),一位数

    D

    1-31

    SS

    00-99

    毫秒(百),两位数

    DD

    01-31

    日,两位数

    SSS

    000-999

    毫秒,三位数

    d

    0-6

    一周中的一天,星期天是 0

    Z

    -05:00

    UTC 的偏移量,±HH:mm

    dd

    Su-Sa

    最简写的星期几

    ZZ

    -0500

    UTC 的偏移量,±HHmm

    ddd

    Sun-Sat

    简写的星期几

    A

    AM / PM

    上/下午,大写

    dddd

    Sunday-Saturday

    星期几,英文全称

    a

    am / pm

    上/下午,小写

    H

    0-23

    小时

    Do

    1st... 31st

    月份的日期与序号

    HH

    00-23

    小时,两位数

    ...

    ...

    其他格式 ( 依赖 AdvancedFormat 插件 )

    h

    1-12

    小时, 12 小时制

    1. 格式化年月日: YYYY年MM月DD日

      dayjs().format('YYYY年MM月DD日')       //22024年01月16日
    2. 格式化年月日: YYY-MM-DD

      dayjs().format('YYYY-MM-DD');        //2024-01-16
    3. 格式化时分秒:HH时mm分ss秒

      dayjs().format('HH时mm分ss秒');         //09时59分33秒
    4. 格式化时分秒: HH:mm:ss

      dayjs().format('HH:mm:ss');           //10:00:01
      dayjs().format('HH:mm:ss a');         //10:00:01 am
  6. 查询

    1.   获取过去的时间
      dayjs().subtract(1, 'year').format('YYYY-MM-DD');             //2023-01-16
      dayjs().subtract(1, 'months').format('YYYY-MM-DD');           //2023-12-16
      dayjs().subtract(1, 'days').format('YYYY-MM-DD');             //2024-01-15 
      dayjs().subtract(1, 'hours').format('HH:mm:ss');              //09:48:39  
      dayjs().subtract(1, 'minute').format('HH:mm:ss');             //10:47:39
      dayjs().subtract(1, 'seconds').format('HH:mm:ss');            //10:48:38
      
      dayjs('2023-12-12').subtract(1, 'year').format('YYYY-MM-DD');             //2022-12-12 
      dayjs('2023-12-12').subtract(1, 'months').format('YYYY-MM-DD');           //2023-11-12
      dayjs('2023-12-12').subtract(1, 'days').format('YYYY-MM-DD');             //2023-12-11
      dayjs('2023-12-12').subtract(1, 'hours').format('YYY-MM-DD HH:mm:ss');    //2023-12-11 23:00:00 
      dayjs('2023-12-12').subtract(1, 'minute').format('YYY-MM-DD HH:mm:ss');   //2023-12-11 23:59:00
      dayjs('2023-12-12').subtract(1, 'seconds').format('HH:mm:ss');            //23:59:59
    2.   获取将来的时间dayjs().add(),用法同dayjs().subtract()
      dayjs('2023-12-12').add(1, 'year').format('YYYY-MM-DD');             //2024-12-12 
      dayjs('2023-12-12').add(1, 'months').format('YYYY-MM-DD');           //2024-01-12
      dayjs('2023-12-12').add(1, 'days').format('YYYY-MM-DD');             //2023-12-13
      dayjs('2023-12-12').add(1, 'hours').format('YYY-MM-DD HH:mm:ss');    //2023-12-12 01:00:00
      dayjs('2023-12-12').add(1, 'minute').format('YYY-MM-DD HH:mm:ss');   //2023-12-12 00:01:00
      dayjs('2023-12-12').add(1, 'seconds').format('HH:mm:ss');            //00:00:01

    3.   判断日期时间
      1. 是否之前
        //这表示 Day.js 对象是否在另一个提供的日期时间之前
        dayjs().isBefore(dayjs('2023-12-12'))  // 默认毫秒
        //如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。
        dayjs().isBefore('2011-01-01', 'year')
        
        //各个传入的单位对大小写不敏感,支持缩写和复数
      2. 是否相同
        //这表示 Day.js 对象是否和另一个提供的日期时间相同。
        dayjs().isSame(dayjs('2011-01-01')) // 默认毫秒
        
        //如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。
        //当使用第二个参数时,将会连同去比较更大的单位。 如传入 month 将会比较 month 和 year。 
        //传入 day 将会比较 day、 month和 year。
        dayjs().isSame('2011-01-01', 'year')
        
        //注意:isSame() 方法不传参数或参数为 undefined 都默认返回true
      3. 是否之后
        //这表示 Day.js 对象是否在另一个提供的日期时间之后
        dayjs().isAfter(dayjs('2011-01-01')) // 默认毫秒
        // 其他写法
        dayjs('2011-01-02').isAfter('2011-01-01') // true
        dayjs('2011-01-02', 'YYYY-MM-DD').isAfter('2011-01-01') // true
        dayjs(dayjs('2011-01-02')).isAfter(dayjs('2011-01-01')) // true
        dayjs(dayjs('2011-01-02', 'YYYY-MM-DD')).isAfter(dayjs('2011-01-01', 'YYYY-MM-DD')) // true
        dayjs(new Date('2011-01-02')).isAfter(new Date('2011-01-01')) // true
        
        //如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。
        dayjs().isAfter('2011-01-01', 'year')
      4. 其他
        //是否相同或之前
        isSameOrBefore
        //否相同或之后
        //isSameOrAfter
        //是否两者之间
        isBetween
        //是否dayjs
        isDayjs
        //是否闰年
        isLeapYear
        
        详情见文档:
        https://dayjs.fenxianglu.cn/category/query.html#%E6%98%AF%E5%90%A6%E6%98%AFday-js
  7. 常用场景

    //上周
    dayjs().subtract(1, 'week').format('YYYY-MM-DD HH:mm:ss');  //2024-01-09 11:41:23
    
    // 获取上周的开始日期和结束日期
    const lastWeekStart = dayjs().subtract(1, 'week').startOf('week').format('YYYY-MM-DD');
    const lastWeekEnd = dayjs().subtract(1, 'week').endOf('week').format('YYYY-MM-DD');
    
    //上个季度
    //安装季度插件
    let quarterOfYear = require('dayjs/plugin/quarterOfYear')//day.js季度插件
    dayjs.extend(quarterOfYear)
    // 获取上周的开始日期和结束日期
    const start = dayjs().add(-1, 'quarter').startOf('quarter').format('YYYY-MM-DD');
    const end = dayjs().add(-1, 'quarter').endOf('quarter').format('YYYY-MM-DD');
    //上个月第一天
    const start = dayjs().add(-1, 'month').startOf('month').format('YYYY-MM-DD');
    //上个月最后一天
    const end = dayjs().add(-1, 'month').endOf('month').format('YYYY-MM-DD');
    //昨天
    const start = dayjs().add(-1, 'day').startOf('day').format('YYYY-MM-DD');
    //上个月前五天
    const start = dayjs().add(-1, 'month').startOf('month').format('YYYY-MM-DD');
    const end = dayjs().add(-1, 'month').startOf('month').add(4, 'day').format('YYYY-MM-DD');
    //上个月后五天
    const start = dayjs().add(-1, 'month').endOf('month').format('YYYY-MM-DD');
    const end = dayjs().add(-1, 'month').endOf('month').add(-4, 'day').format('YYYY-MM-DD');
    //前一周
    const start = dayjs().add(-1, 'week').format('YYYY-MM-DD');
    //前30天
    const start = dayjs().add(-1, 'month').format('YYYY-MM-DD');
    //前90天
    const start = dayjs().add(-3,'month').format('YYYY-MM-DD');

Day.js是一个轻量级的JavaScript日期库,用于解析、验证、操作和显示日期和时间。它提供了类似于Moment.js的API,但体积更小。Day.js可以在微信小程序中使用,可以通过在js文件中引入Day.js库来使用它。 在微信小程序中使用Day.js的具体步骤如下: 1. 在当前项目的miniprogram文件夹下打开命令行窗口运行以下命令安装Day.js库: ``` npm install dayjs --save ``` 2. 在需要使用Day.js的页面或组件的js文件中引入Day.js库: ``` const dayjs = require("dayjs"); ``` 3. 然后就可以在页面中使用Day.js的各种功能了,比如获取当前日期时间、格式化日期时间等。例如: ``` const today = dayjs().format('YYYY-MM-DD HH:mm:ss'); ``` 需要注意的是,在使用Day.js之前,需要先在微信小程序开发工具中进行npm构建,以将Day.js库引入到小程序中。具体的构建步骤可以参考微信小程序开发工具的官方文档或相关教程。 参考链接: - \[Day.js官方文档\](https://day.js.org/) - \[Day.js在微信小程序中的使用教程\](https://www.cnblogs.com/chenwolong/p/15594635.html) - \[Day.js在微信小程序中的使用示例\](https://blog.csdn.net/weixin_43862596/article/details/121247282) #### 引用[.reference_title] - *1* *3* [微信小程序使用dayjs](https://blog.csdn.net/immocha/article/details/105290786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [微信小程序引入dayjs依赖的全过程](https://blog.csdn.net/legender5431/article/details/128974969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值