logoAnt Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
5.20.6
  • Components Overview
  • General
    • Button
    • FloatButton
      5.0.0
    • Icon
    • Typography
  • Layout
    • Divider
    • Flex
      5.10.0
    • Grid
    • Layout
    • Space
  • Navigation
    • Anchor
    • Breadcrumb
    • Dropdown
    • Menu
    • Pagination
    • Steps
  • Data Entry
    • AutoComplete
    • Cascader
    • Checkbox
    • ColorPicker
      5.5.0
    • DatePicker
    • Form
    • Input
    • InputNumber
    • Mentions
    • Radio
    • Rate
    • Select
    • Slider
    • Switch
    • TimePicker
    • Transfer
    • TreeSelect
    • Upload
  • Data Display
    • Avatar
    • Badge
    • Calendar
    • Card
    • Carousel
    • Collapse
    • Descriptions
    • Empty
    • Image
    • List
    • Popover
    • QRCode
      5.1.0
    • Segmented
    • Statistic
    • Table
    • Tabs
    • Tag
    • Timeline
    • Tooltip
    • Tour
      5.0.0
    • Tree
  • Feedback
    • Alert
    • Drawer
    • Message
    • Modal
    • Notification
    • Popconfirm
    • Progress
    • Result
    • Skeleton
    • Spin
    • Watermark
      5.1.0
  • Other
    • Affix
    • App
      5.1.0
    • ConfigProvider
    • Util
      5.13.0

Calendar

A container that displays data in calendar form.
Importimport{ Calendar }from"antd";
Sourcecomponents/calendar
DocsEdit this page

Resources

Ant Design Charts
Ant Design Pro
Ant Design Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Landing-Landing Templates
Scaffolds-Scaffold Market
Umi-React Application Framework
dumi-Component doc generator
qiankun-Micro-Frontends Framework
ahooks-React Hooks Library
Ant Motion-Motion Solution
China Mirror 🇨🇳

Community

Awesome Ant Design
Medium
Twitter
yuque logoAnt Design in YuQue
Ant Design in Zhihu
Experience Cloud Blog
seeconf logoSEE Conf-Experience Tech Conference

Help

GitHub
Change Log
FAQ
Bug Report
Issues
Discussions
StackOverflow
SegmentFault

Ant XTech logoMore Products

yuque logoYuQue-Document Collaboration Platform
AntV logoAntV-Data Visualization
Egg logoEgg-Enterprise Node.js Framework
Kitchen logoKitchen-Sketch Toolkit
Galacean logoGalacean-Interactive Graphics Solution
xtech logoAnt Financial Experience Tech
Theme Editor
Made with ❤ by
Ant Group and Ant Design Community
loading

When To Use

When data is in the form of dates, such as schedules, timetables, prices calendar, lunar calendar. This component also supports Year/Month switch.

Examples

API

Common props ref:Common props

Note: Part of the Calendar's locale is read from value. So, please set the locale of dayjs correctly.

// The default locale is en-US, if you want to use other locale, just set locale in entry file globally.
// import dayjs from 'dayjs';
// import 'dayjs/locale/zh-cn';
// dayjs.locale('zh-cn');
<Calendar
dateCellRender={dateCellRender}
monthCellRender={monthCellRender}
onPanelChange={onPanelChange}
onSelect={onSelect}
/>
PropertyDescriptionTypeDefaultVersion
dateCellRenderCustomize the display of the date cell, the returned content will be appended to the cellfunction(date: Dayjs): ReactNode-
cellRenderCustomize cell contentfunction(current: dayjs, today: dayjs, info: { originNode: React.ReactElement,today: DateType, range?: 'start' | 'end', type: PanelMode, locale?: Locale, subType?: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode-5.4.0
dateFullCellRenderCustomize the display of the date cell, the returned content will override the cellfunction(date: Dayjs): ReactNode-
fullCellRenderCustomize cell contentfunction(current: dayjs, today: dayjs, info: { originNode: React.ReactElement,today: DateType, range?: 'start' | 'end', type: PanelMode, locale?: Locale, subType?: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode-5.4.0
defaultValueThe date selected by defaultdayjs-
disabledDateFunction that specifies the dates that cannot be selected, currentDate is same dayjs object as value prop which you shouldn't mutate it](https://github.com/ant-design/ant-design/issues/30987)(currentDate: Dayjs) => boolean-
fullscreenWhether to display in full-screenbooleantrue
headerRenderRender custom header in panelfunction(object:{value: Dayjs, type: string, onChange: f(), onTypeChange: f()})-
localeThe calendar's localeobject(default)
modeThe display mode of the calendarmonth | yearmonth
monthCellRenderCustomize the display of the month cell, the returned content will be appended to the cellfunction(date: Dayjs): ReactNode-
monthFullCellRenderCustomize the display of the month cell, the returned content will override the cellfunction(date: Dayjs): ReactNode-
validRangeTo set valid range[dayjs, dayjs]-
valueThe current selected datedayjs-
onChangeCallback for when date changesfunction(date: Dayjs)-
onPanelChangeCallback for when panel changesfunction(date: Dayjs, mode: string)-
onSelectCallback for when a date is selected, include source infofunction(date: Dayjs, info: { source: 'year' | 'month' | 'date' | 'customize' })-info: 5.6.0

Design Token

Component TokenHow to use?

Token NameDescriptionTypeDefault Value
fullBgBackground color of full calendarstring#ffffff
fullPanelBgBackground color of full calendar panelstring#ffffff
itemActiveBgBackground color of selected date itemstring#e6f4ff
miniContentHeightHeight of mini calendar contentstring | number256
monthControlWidthWidth of month selectstring | number70
yearControlWidthWidth of year selectstring | number80

Global TokenHow to use?

FAQ

How to use Calendar with customize date library?

See Use custom date library

How to set locale for date-related components?

See How to set locale for date-related components

Date-related components locale is not working?

See FAQ Date-related-components-locale-is-not-working?

How to get date from panel click?

onSelect provide info.source to help on this:

<Calendar
onSelect={(date, { source }) => {
if (source === 'date') {
console.log('Panel Select:', source);
}
}}
/>
Basic

A basic calendar component with Year/Month switch.

codepen icon
External Link Icon
expand codeexpand code
Notice Calendar

This component can be rendered by using dateCellRender and monthCellRender with the data you need.

codepen icon
External Link Icon
expand codeexpand code
Card

Nested inside a container element for rendering in limited space.

codepen icon
External Link Icon
expand codeexpand code
Selectable Calendar

A basic calendar component with Year/Month switch.

codepen icon
External Link Icon
expand codeexpand code
Lunar Calendar

Display lunar calendar, solar terms and other information.

codepen icon
External Link Icon
expand codeexpand code
Customize Header

Customize Calendar header content.

codepen icon
External Link Icon
expand codeexpand code
2024
Sep
SuMoTuWeThFrSa
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
01
02
03
04
05
06
07
08
09
10
11
12
2024
Sep
SuMoTuWeThFrSa
01
    02
      03
        04
          05
            06
              07
                08
                • This is warning event.
                • This is usual event.
                09
                  10
                  • This is warning event.
                  • This is usual event.
                  • This is error event.
                  11
                    12
                      13
                        14
                          15
                          • This is warning event
                          • This is very long usual event......
                          • This is error event 1.
                          • This is error event 2.
                          • This is error event 3.
                          • This is error event 4.
                          16
                            17
                              18
                                19
                                  20
                                    21
                                      22
                                        23
                                          24
                                            25
                                              26
                                                27
                                                  28
                                                    29
                                                      30
                                                        01
                                                          02
                                                            03
                                                              04
                                                                05
                                                                  06
                                                                    07
                                                                      08
                                                                      • This is warning event.
                                                                      • This is usual event.
                                                                      09
                                                                        10
                                                                        • This is warning event.
                                                                        • This is usual event.
                                                                        • This is error event.
                                                                        11
                                                                          12
                                                                            2024
                                                                            Sep
                                                                            SuMoTuWeThFrSa
                                                                            01
                                                                            02
                                                                            03
                                                                            04
                                                                            05
                                                                            06
                                                                            07
                                                                            08
                                                                            09
                                                                            10
                                                                            11
                                                                            12
                                                                            13
                                                                            14
                                                                            15
                                                                            16
                                                                            17
                                                                            18
                                                                            19
                                                                            20
                                                                            21
                                                                            22
                                                                            23
                                                                            24
                                                                            25
                                                                            26
                                                                            27
                                                                            28
                                                                            29
                                                                            30
                                                                            01
                                                                            02
                                                                            03
                                                                            04
                                                                            05
                                                                            06
                                                                            07
                                                                            08
                                                                            09
                                                                            10
                                                                            11
                                                                            12
                                                                            You selected date: 2017-01-25
                                                                            2017
                                                                            Jan
                                                                            SuMoTuWeThFrSa
                                                                            01
                                                                            02
                                                                            03
                                                                            04
                                                                            05
                                                                            06
                                                                            07
                                                                            08
                                                                            09
                                                                            10
                                                                            11
                                                                            12
                                                                            13
                                                                            14
                                                                            15
                                                                            16
                                                                            17
                                                                            18
                                                                            19
                                                                            20
                                                                            21
                                                                            22
                                                                            23
                                                                            24
                                                                            25
                                                                            26
                                                                            27
                                                                            28
                                                                            29
                                                                            30
                                                                            31
                                                                            01
                                                                            02
                                                                            03
                                                                            04
                                                                            05
                                                                            06
                                                                            07
                                                                            08
                                                                            09
                                                                            10
                                                                            11
                                                                            二〇二四年(甲辰龙年)
                                                                            9月(七月)
                                                                            SuMoTuWeThFrSa
                                                                            1
                                                                            廿九
                                                                            2
                                                                            三十
                                                                            3
                                                                            初一
                                                                            4
                                                                            初二
                                                                            5
                                                                            初三
                                                                            6
                                                                            初四
                                                                            7
                                                                            白露
                                                                            8
                                                                            初六
                                                                            9
                                                                            初七
                                                                            10
                                                                            初八
                                                                            11
                                                                            初九
                                                                            12
                                                                            初十
                                                                            13
                                                                            十一
                                                                            14
                                                                            十二
                                                                            15
                                                                            十三
                                                                            16
                                                                            十四
                                                                            17
                                                                            中秋节
                                                                            18
                                                                            十六
                                                                            19
                                                                            十七
                                                                            20
                                                                            十八
                                                                            21
                                                                            十九
                                                                            22
                                                                            秋分
                                                                            23
                                                                            廿一
                                                                            24
                                                                            廿二
                                                                            25
                                                                            廿三
                                                                            26
                                                                            廿四
                                                                            27
                                                                            廿五
                                                                            28
                                                                            廿六
                                                                            29
                                                                            廿七
                                                                            30
                                                                            廿八
                                                                            1
                                                                            国庆节
                                                                            2
                                                                            三十
                                                                            3
                                                                            初一
                                                                            4
                                                                            初二
                                                                            5
                                                                            初三
                                                                            6
                                                                            初四
                                                                            7
                                                                            初五
                                                                            8
                                                                            寒露
                                                                            9
                                                                            初七
                                                                            10
                                                                            初八
                                                                            11
                                                                            初九
                                                                            12
                                                                            初十

                                                                            Custom header

                                                                            2024
                                                                            Sep
                                                                            SuMoTuWeThFrSa
                                                                            01
                                                                            02
                                                                            03
                                                                            04
                                                                            05
                                                                            06
                                                                            07
                                                                            08
                                                                            09
                                                                            10
                                                                            11
                                                                            12
                                                                            13
                                                                            14
                                                                            15
                                                                            16
                                                                            17
                                                                            18
                                                                            19
                                                                            20
                                                                            21
                                                                            22
                                                                            23
                                                                            24
                                                                            25
                                                                            26
                                                                            27
                                                                            28
                                                                            29
                                                                            30
                                                                            01
                                                                            02
                                                                            03
                                                                            04
                                                                            05
                                                                            06
                                                                            07
                                                                            08
                                                                            09
                                                                            10
                                                                            11
                                                                            12