Date-fns 适用于各种需要日期处理的场景,特别是在需要高性能和轻量级解决方案的项目中:
Date-fns 的核心设计理念是提供一个现代化、模块化且高性能的日期处理库,使得日期操作变得简单、高效和可靠。其核心组件包括:
可以通过 npm 或 yarn 安装 Date-fns:
npm install date-fns
yarn add date-fns
以下是一些基本的 Date-fns 示例,展示了如何使用 Date-fns 处理日期和时间:
const { format, addDays, parseISO } = require('date-fns');
// 或者使用 ES6 模块
import { format, addDays, parseISO } from 'date-fns';
const date = new Date(2024, 5, 14);
const formattedDate = format(date, 'yyyy-MM-dd');
console.log(formattedDate); // 2024-06-14
const dateString = '2024-06-14';
const parsedDate = parseISO(dateString);
console.log(parsedDate); // Fri Jun 14 2024 00:00:00 GMT+0000 (Coordinated Universal Time)
const today = new Date();
const nextWeek = addDays(today, 7);
console.log(nextWeek); // 当前日期加上 7 天后的日期
const date1 = new Date(2024, 5, 14);
const date2 = new Date(2024, 5, 20);
const isBefore = isBefore(date1, date2);
console.log(isBefore); // true
const startDate = new Date(2024, 5, 14);
const endDate = addMonths(startDate, 3);
console.log(endDate); // 当前日期加上 3 个月后的日期
import { format } from 'date-fns';
import { fr } from 'date-fns/locale';
const date = new Date(2024, 5, 14);
const formattedDate = format(date, 'PPP', { locale: fr });
console.log(formattedDate); // 14 juin 2024
import { differenceInDays } from 'date-fns';
const date1 = new Date(2024, 5, 14);
const date2 = new Date(2024, 5, 20);
const daysDifference = differenceInDays(date2, date1);
console.log(daysDifference); // 6