JavaScript日期处理工具date-fns,累计36.5k Star

11 阅读2分钟

JavaScript日期处理工具date-fns,累计36.5k Star

date-fns是一款JavaScript日期处理工具库,GitHub仓库star数为36562,项目地址为github.com/date-fns/da…

正文顶部截图

date-fns提供全面且简单一致的工具集,可在浏览器与Node.js环境中操作日期。目前已发布v4.0版本,新增一等时区支持。

该库类似日期领域的Lodash,包含200多个功能函数,覆盖多数日期处理场景。 模块化设计支持按需引入,可配合webpack、Browserify、Rollup等构建工具使用,同时支持tree-shaking减少打包体积。 工具库基于原生日期类型实现,不会扩展核心对象,避免潜在冲突。所有函数均为纯函数,操作后返回新的日期实例,不会修改原数据。 完整支持TypeScript,所有类型均为手动编写,类型提示准确。 内置数十种语言的国际化支持,可按需引入对应语言包。

README区域截图

使用示例如下:

import { compareAsc, format } from "date-fns";

format(new Date(2014, 1, 11), "yyyy-MM-dd");
//=> '2014-02-11'

const dates = [
  new Date(1995, 6, 2),
  new Date(1987, 1, 11),
  new Date(1989, 6, 10),
];
dates.sort(compareAsc);
//=> [
//   Wed Feb 11 1987 00:00:00,
//   Mon Jul 10 1989 00:00:00,
//   Sun Jul 02 1995 00:00:00
// ]

date-fns的函数设计遵循最小惊讶原则,API命名直观,多数函数见名知意,降低学习成本。常见的日期格式化、日期比较、日期加减、时区转换等操作都有对应的函数实现。 对于需要处理时区的场景,v4.0版本提供了原生的时区支持,无需额外引入第三方库,可直接在函数中指定时区参数完成转换。 在实际项目中,date-fns可用于处理表单中的日期输入、生成报表的时间维度、处理日志中的时间戳、格式化前端展示的日期信息等场景。 相比其他日期处理库,date-fns的模块化设计在打包时可以只引入用到的函数,有效减少最终代码体积,适合对包体积敏感的前端项目。 工具库的测试覆盖度高,所有函数都有对应的测试用例,稳定性有保障。社区活跃度高,issue响应速度快,版本迭代节奏稳定。

date-fns以npm包形式发布,安装命令为:

npm install date-fns --save

官方文档地址为date-fns.org/,包含完整API说明与…