返回

掌握Dayjs,轻松驾驭时间、时区和时间字符串

前端

Dayjs概述

Dayjs是一个轻量级、现代、跨平台的JavaScript库,用于解析、验证、操作和格式化日期和时间。它非常易于使用,只需一行代码即可将日期和时间转换为字符串,或将字符串转换为日期和时间。Dayjs还提供了丰富的API,可以对日期和时间进行各种操作,如加减天数、月份和年份,获取日期和时间的组件,以及比较日期和时间等。

Dayjs处理时间

Dayjs提供了多种方法来处理时间。您可以使用dayjs()方法创建一个新的Dayjs对象,也可以使用dayjs.extend()方法扩展Dayjs对象。

// 创建一个新的Dayjs对象
const now = dayjs();

// 扩展Dayjs对象
dayjs.extend({
  myMethod: function() {
    // 您的代码
  }
});

Dayjs对象提供了许多有用的方法来处理时间,包括:

  • add():将指定数量的天数、月份或年份添加到日期。
  • subtract():从日期中减去指定数量的天数、月份或年份。
  • startOf():返回日期的开始时间,如dayjs().startOf('day')返回当天的开始时间。
  • endOf():返回日期的结束时间,如dayjs().endOf('day')返回当天的结束时间。
  • isSame():比较两个日期是否相同。
  • isBefore():比较两个日期是否在第一个日期之前。
  • isAfter():比较两个日期是否在第一个日期之后。

Dayjs处理时区

Dayjs还提供了多种方法来处理时区。您可以使用utc()方法创建一个新的UTC时间Dayjs对象,也可以使用timezone()方法设置Dayjs对象的时区。

// 创建一个新的UTC时间Dayjs对象
const utcNow = dayjs.utc();

// 设置Dayjs对象的时区
dayjs().timezone('Asia/Shanghai');

Dayjs对象提供了许多有用的方法来处理时区,包括:

  • utcOffset():返回Dayjs对象的UTC偏移量,以分钟为单位。
  • local():将Dayjs对象转换为本地时间。
  • utc():将Dayjs对象转换为UTC时间。
  • format():使用指定格式格式化Dayjs对象。

Dayjs处理时间字符串

Dayjs还提供了多种方法来处理时间字符串。您可以使用parse()方法将时间字符串解析为Dayjs对象,也可以使用format()方法将Dayjs对象格式化为时间字符串。

// 将时间字符串解析为Dayjs对象
const date = dayjs('2023-03-08T12:00:00Z');

// 将Dayjs对象格式化为时间字符串
dayjs().format('YYYY-MM-DD HH:mm:ss');

Dayjs对象提供了许多有用的方法来处理时间字符串,包括:

  • parse():将时间字符串解析为Dayjs对象。
  • format():使用指定格式格式化Dayjs对象。
  • isValid():检查时间字符串是否有效。

结语

Dayjs是一个功能强大、易于使用的JavaScript库,用于处理时间、时区和时间字符串。它提供了丰富的API,可以满足各种日期和时间相关的需求。如果您需要处理日期和时间,Dayjs是一个不错的选择。