Skip to main content

DayJS Plugin

Installation and import of Day.js

1. Install Day.js

First, install Day.js through npm:

npm install dayjs

2. Import Day.js

Use the import syntax to import Day.js in the project file:

import dayjs from 'dayjs';

3. Basic usage examples of Day.js

Here are some commonly used Day.js methods and code examples.

3.1 Get the current date and time

You can use dayjs() to get the current date and time:

import dayjs from 'dayjs';

const now = dayjs();

console.log(now.format()); // Output the current date and time, for example, '2024-11-04T13:45:30+08:00'

3.2 Format the date and time

The format method can be used to format the date into a specific format:

console.log(dayjs().format('YYYY-MM-DD')); // Output '2024-11-04'
console.log(dayjs().format('YYYY-MM-DD HH:mm:ss')); // Output '2024-11-04 13:45:30' (example time)

3.3 Parsing date strings

You can parse the date string into a Day.js object and then perform various operations:

const date = dayjs('2024-01-01');
console.log(date.format('YYYY-MM-DD')); // Output '2024-01-01'

3.4 Date addition and subtraction operations

Day.js provides the add and subtract methods, which can be used to add and subtract dates:

console.log(dayjs().add(7, 'day').format('YYYY-MM-DD')); // Current date plus 7 days
console.log(dayjs().subtract(1, 'month').format('YYYY-MM-DD')); // Current date minus 1 month

3.5 Get different parts of the date

You can use .year(), .month(), .date() and other methods to get specific parts of the date:

const date = dayjs('2024-11-04');

console.log(date.year()); // Output year, such as 2024
console.log(date.month()); // Output month (0 for January, 11 for December)
console.log(date.date()); // Output date, such as 4
console.log(date.day()); // Output day of the week (0 for Sunday, 6 for Saturday)

3.6 Determine whether the dates are the same

The isSame method can be used to compare whether two dates are the same, and you can also specify the comparison precision (such as year, month, day):

const date1 = dayjs('2024-11-04');
const date2 = dayjs('2024-11-04');
console.log(date1.isSame(date2, 'day')); // Outputs true, because the dates are the same
console.log(date1.isSame(dayjs(), 'year')); // Outputs false or true, depending on the current year

3.7 Using plugins to implement relative time

Day.js provides some plugins, such as relativeTime for displaying relative time (such as "2 days ago").

Install relativeTime plugin
npm install dayjs-plugin-relativeTime
Use relativeTime plugin
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';

// Extend Day.js functionality
dayjs.extend(relativeTime);

console.log(dayjs().from(dayjs('2024-10-01'))); // Output 'in a month' or '1 month ago', etc.
console.log(dayjs('2024-10-01').fromNow()); // Output relative time relative to current time

3.8 Use other plugins

Day.js provides many plugins, such as isBetween, which is used to determine whether a date is between two dates.

Install and use the isBetween plugin
import dayjs from 'dayjs';
import isBetween from 'dayjs/plugin/isBetween';

dayjs.extend(isBetween);

const start = dayjs('2024-10-01');
const end = dayjs('2024-12-01');
const date = dayjs('2024-11-01');

console.log(date.isBetween(start, end)); // Output true, because the date is within the interval

4. Day.js practical example: calculating age

Suppose we need to calculate a person's age:

import dayjs from 'dayjs';

const birthDate = dayjs('1998-06-26');
const current = dayjs();
const age = current.diff(birthDate, 'year'); // Use diff method to calculate year difference

console.log(`age: ${age} years`); // Output 'age: 26 years' (assuming current year is 2024)

Summary

Day.js is a powerful but lightweight date and time processing library suitable for projects that require date operations. Through plug-in extensions, Day.js can also meet more advanced requirements, such as relative time, interval judgment, etc.