date-fns
是一个现代的 JavaScript 日期实用库,提供了简单、全面和一致的工具来操作 JavaScript 中的日期。它的设计目标是提供最简单的API,同时保持小巧的库大小。使用 date-fns
,你可以轻松地进行日期的解析、格式化、比较等操作。
date-fns
首先,你需要在你的项目中安装 date-fns
。如果你正在使用 npm,可以通过以下命令安装:
npm install date-fns
或者,如果你使用的是 yarn:
yarn add date-fns
如果你有一个日期字符串,你可以使用 parseISO
函数将其转换为 JavaScript 的 Date
对象:
import { parseISO } from 'date-fns';
const dateString = '2023-09-15T14:00:00.000Z';
const date = parseISO(dateString);
console.log(date); // 输出: 2023-09-15T14:00:00.000Z (这将根据你的时区而有所不同)
要将日期格式化为更易读的形式,可以使用 format
函数:
import { format } from 'date-fns';
const date = new Date();
const formattedDate = format(date, 'yyyy-MM-dd');
console.log(formattedDate); // 输出: 例如 "2023-09-15"
你可以使用 add
和 sub
函数来对日期进行加减操作:
import { add, sub } from 'date-fns';
const date = new Date();
const addedDate = add(date, { days: 10 });
console.log(format(addedDate, 'yyyy-MM-dd')); // 输出: 当前日期加10天
const subtractedDate = sub(date, { days: 5 });
console.log(format(subtractedDate, 'yyyy-MM-dd')); // 输出: 当前日期减5天
要比较两个日期,可以使用 isBefore
, isAfter
等函数:
import { isBefore, isAfter } from 'date-fns';
const date1 = new Date(2023, 8, 15); // 注意月份是从0开始的,所以8代表9月
const date2 = new Date(2023, 8, 16);
console.log(isBefore(date1, date2)); // 输出: true
console.log(isAfter(date1, date2)); // 输出: false
date-fns
的优势date-fns
允许你只导入需要的函数,这有助于减少最终打包的大小。date-fns
函数都不会改变提供的日期对象,这有助于避免常见的日期相关的bug。date-fns
提供了一套简单而直观的API,使得日期操作变得非常容易。领取专属 10元无门槛券
手把手带您无忧上云