You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用date-fns库根据月份名称获取对应的月份索引值

date-fns 按月份名称获取月份数值/索引方案

直接使用date-fns内置的parse方法实现月份解析,无需自行维护静态映射字典:

基础用法(英文月份)

import { parse, getMonth } from 'date-fns';

const monthName = 'March';
// 第三个参数为任意合法的基准日期即可,不影响月份解析结果
const parsedDate = parse(monthName, 'MMMM', new Date(2020, 0, 1));

// 获取0基索引(和moment.month()返回值一致,0对应1月,11对应12月)
const zeroBasedIndex = getMonth(parsedDate); // 返回 2

// 获取1-12格式的月份数值(和原moment示例format('M')返回值一致)
const monthNumber = zeroBasedIndex + 1; // 返回 3
  • 若你使用的是缩写月份名(如Mar),将parse的第二个格式参数改为MMM即可。

多语言适配

如果要解析非英文的月份名称,传入对应locale配置即可,以中文为例:

import { parse, getMonth } from 'date-fns';
import zhCN from 'date-fns/locale/zh-CN';

const monthName = '三月';
const parsedDate = parse(monthName, 'MMMM', new Date(2020, 0, 1), {
  locale: zhCN
});
const zeroBasedIndex = getMonth(parsedDate); // 返回 2

说明

parse方法依赖date-fns内置的locale资源做月份匹配,完全不需要自行维护静态字典,符合需求。第三个参数仅作为解析时的基准兜底值,不需要提前持有任何额外的日期信息,随便传入任意合法日期即可,不会影响最终的月份解析结果。


内容的提问来源于stack exchange,提问作者pk786

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:45:00