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

如何在react-big-calendar弹窗中显示孟加拉语(bn)日期

解决react-big-calender弹窗日期转为孟加拉语格式的方案

要将弹窗中的日期从美式格式转为孟加拉语(bn)格式,你需要通过本地化配置和自定义弹窗组件来实现,以下是具体步骤:

1. 准备本地化依赖

react-big-calendar支持基于date-fns或moment的本地化,这里以主流的date-fns为例:

  • 安装依赖:
npm install date-fns @date-fns/locale

2. 配置Calendar的本地化器

引入date-fns的孟加拉语locale,并初始化本地化器:

import { format, parse, startOfWeek, getDay } from 'date-fns';
import { bn } from '@date-fns/locale';
import { Calendar } from 'react-big-calendar';
import dateFnsLocalizer from 'react-big-calendar/lib/localizers/date-fns';

// 初始化本地化器
const localizer = dateFnsLocalizer({
  format,
  parse,
  startOfWeek,
  getDay,
  locales: { bn }
});

3. 自定义「更多」弹窗组件

替换默认的弹窗组件,在内部将日期格式化为孟加拉语样式:

const CustomMorePopup = ({ events, date }) => {
  // 格式化日期为「শনিবার ৮ এপ্রিল」格式
  const formattedBnDate = format(date, 'EEEE d MMMM', { locale: bn });

  return (
    <div className="rbc-more-popup">
      <h3>{formattedBnDate}</h3>
      <ul>
        {events.map(event => (
          <li key={event.id}>
            {/* 可选:同时格式化事件的时间为孟加拉语格式 */}
            <span className="rbc-event-time">
              {format(event.start, 'HH:mm', { locale: bn })}
            </span>
            <span>{event.title}</span>
          </li>
        ))}
      </ul>
    </div>
  );
};

4. 绑定到Calendar组件

将本地化器和自定义弹窗组件传入Calendar:

<Calendar
  localizer={localizer}
  events={yourEventsData}
  startAccessor="start"
  endAccessor="end"
  locale="bn" // 指定全局使用孟加拉语
  components={{
    morePopup: CustomMorePopup // 替换默认弹窗
  }}
/>

如果你使用moment.js

如果项目依赖moment,步骤类似:

  1. 引入孟加拉语locale:
import moment from 'moment';
import 'moment/locale/bn';
import momentLocalizer from 'react-big-calendar/lib/localizers/moment';

moment.locale('bn');
const localizer = momentLocalizer(moment);
  1. 自定义弹窗中格式化日期:
const formattedBnDate = moment(date).format('dddd D MMMM');

这样点击「+{x} more」链接时,弹窗就会展示孟加拉语格式的日期了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:57:28