Nodejs日期处理模块dayjs的使用

Nodejs日期处理模块dayjs的使用
Day.js 是一个轻量级的 JavaScript 日期库,与 Moment.js 兼容,但体积更小(只有 2KB),并且具有更高的性能。它可以在 Node.js 环境中使用来简化日期操作。

安装

首先,你需要安装 day.js:

npm install dayjs

基本用法

创建日期对象

你可以通过以下方式创建一个 dayjs 对象:

const dayjs = require('dayjs');

// 使用当前日期和时间
let now = dayjs();
console.log(now.format()); // 输出当前日期和时间,格式为 YYYY-MM-DDTHH:mm:ssZ

// 使用特定日期和时间
let specificDate = dayjs('2023-01-01');
console.log(specificDate.format()); // 输出 2023-01-01T00:00:00+08:00

格式化日期

你可以使用 .format() 方法来自定义日期输出格式:

let date = dayjs().format('YYYY/MM/DD'); // 输出类似 2023/09/26
console.log(date);

添加或减去时间

你可以使用 .add().subtract() 方法来修改日期:

let tomorrow = dayjs().add(1, 'day');
console.log(tomorrow.format()); // 输出明天的日期和时间

let yesterday = dayjs().subtract(1, 'day');
console.log(yesterday.format()); // 输出昨天的日期和时间

获取日期部分

你可以获取日期的不同部分,如年、月、日等:

let date = dayjs();
console.log(date.year()); // 输出年份
console.log(date.month() + 1); // 输出月份,注意 month 是从 0 开始计数的
console.log(date.date()); // 输出日期

比较日期

你可以比较两个日期:

let date1 = dayjs('2023-01-01');
let date2 = dayjs('2023-01-02');

if (date1 < date2) {
    console.log('date1 is earlier than date2');
} else {
    console.log('date2 is earlier than or equal to date1');
}

时区处理

Day.js 支持时区处理,可以通过插件实现:

npm install dayjs plugin/global plugin/timezone

使用时区:

const dayjs = require('dayjs');
const utc = require('dayjs/plugin/utc');
const timezone = require('dayjs/plugin/timezone');

dayjs.extend(utc);
dayjs.extend(timezone);

console.log(dayjs().tz("America/New_York").format());

以上就是 Day.js 的一些基本用法。更多高级功能和插件可以参考官方文档:https://day.js.org/docs/en/installation/node-js


3 回复

Day.js 确实是 Node.js 中处理日期的好帮手,它小巧且功能强大,用法类似 Moment.js,但体积更小。首先,你需要通过 npm 安装它:

npm install dayjs

安装后,你可以这样开始使用:

const dayjs = require('dayjs');

// 获取当前时间
let now = dayjs();
console.log(now.format('YYYY-MM-DD HH:mm:ss')); // 输出类似 2023-04-05 14:30:00

// 格式化日期
console.log(dayjs('2023-04-05').format('MM/D/YYYY')); // 输出 04/5/2023

// 添加或减去时间
console.log(dayjs().add(7, 'day').subtract(3, 'hour').format()); // 输出类似 2023-04-12T11:00:00+08:00

// 处理时区
const utc = require('dayjs/plugin/utc');
dayjs.extend(utc);
console.log(dayjs().utc().format()); // 输出类似 2023-04-05T06:30:00Z

Day.js 还支持很多插件来扩展功能,比如处理相对时间、时区等。探索更多玩法吧!


Day.js 是一个轻量级的 JavaScript 日期库,用于解析、验证、操作和显示日期。它类似于 Moment.js,但是体积更小(只有2KB),且使用方式更加简洁。

安装

首先,你需要安装 Day.js。你可以通过 npm 或 yarn 来安装:

npm install dayjs
# 或者
yarn add dayjs

基本使用

1. 导入 Day.js

const dayjs = require('dayjs'); // Node.js 环境
// 或者
import dayjs from 'dayjs'; // ES 模块语法

2. 创建日期对象

const now = dayjs(); // 当前日期和时间
console.log(now.format()); // 输出类似 "2023-04-05T14:48:00+08:00"

3. 格式化日期

const formattedDate = dayjs().format('YYYY-MM-DD');
console.log(formattedDate); // 输出类似 "2023-04-05"

4. 添加或减去时间

const nextYear = dayjs().add(1, 'year').format('YYYY-MM-DD');
console.log(nextYear); // 输出类似 "2024-04-05"

const yesterday = dayjs().subtract(1, 'day').format('YYYY-MM-DD');
console.log(yesterday); // 输出类似 "2023-04-04"

5. 计算两个日期之间的差异

const date1 = dayjs('2023-04-01');
const date2 = dayjs('2023-04-05');

const diffInDays = date2.diff(date1, 'day');
console.log(diffInDays); // 输出 4

6. 解析字符串为日期

const dateFromString = dayjs('2023-04-05').format();
console.log(dateFromString); // 输出类似 "2023-04-05T00:00:00+08:00"

7. 本地化支持

Day.js 支持多种语言,可以通过插件来扩展:

require('dayjs/locale/zh-cn'); // 引入中文
dayjs.locale('zh-cn'); // 设置为中文

console.log(dayjs().format('LL')); // 输出类似 "2023年4月5日"

插件

Day.js 还有很多有用的插件,比如 dayjs/plugin/relativeTime 可以将日期转换为相对时间:

require('dayjs/plugin/relativeTime');
dayjs.extend(relativeTime);

console.log(dayjs().from(dayjs('2022-01-01'))); // 输出类似 "2年前"

以上就是 Day.js 的一些基本用法。更多详细信息可以参考其官方文档:https://day.js.org/

Day.js 是一个轻量级的 JavaScript 日期库,类似于 Moment.js,但更小更快。以下是 Day.js 的基本使用方法:

  1. 安装:npm install dayjs
  2. 引入:const dayjs = require('dayjs');
  3. 格式化日期:dayjs().format('YYYY-MM-DD')
  4. 添加/减少时间:dayjs().add(1, 'day').subtract(7, 'year')
  5. 获取日期信息:dayjs().year()dayjs().month()dayjs().date()
  6. 比较日期:dayjs('2020-01-01').isBefore(dayjs('2020-01-02'))

更多功能可以查阅官方文档。

回到顶部