Importimport { Calendar } from "antd";  | 
Sourcecomponents/calendar  | 
Importimport { Calendar } from "antd";  | 
Sourcecomponents/calendar  | 
When data is in the form of dates, such as schedules, timetables, prices calendar, lunar calendar. This component also supports Year/Month switch.
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 cellRender={cellRender} onPanelChange={onPanelChange} onSelect={onSelect} />
| Property | Description | Type | Default | Version | 
|---|---|---|---|---|
| cellRender | Customize cell content | function(current: dayjs, info: { prefixCls: string, originNode: React.ReactElement, today: dayjs, range?: 'start' | 'end', type: PanelMode, locale?: Locale, subType?: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode | - | 5.4.0 | 
| dateFullCellRender | Customize the display of the date cell, the returned content will override the cell | function(date: Dayjs): ReactNode | - | |
| fullCellRender | Customize cell content | function(current: dayjs, info: { prefixCls: string, originNode: React.ReactElement, today: dayjs, range?: 'start' | 'end', type: PanelMode, locale?: Locale, subType?: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode | - | 5.4.0 | 
| defaultValue | The date selected by default | dayjs | - | |
| disabledDate | Function 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 | - | |
| fullscreen | Whether to display in full-screen | boolean | true | |
| showWeek | Whether to display week number | boolean | false | 5.23.0 | 
| headerRender | Render custom header in panel | function(object:{value: Dayjs, type: 'year' | 'month', onChange: f(), onTypeChange: f()}) | - | |
| locale | The calendar's locale | object | (default) | |
| mode | The display mode of the calendar | month | year | month | |
| validRange | To set valid range | [dayjs, dayjs] | - | |
| value | The current selected date | dayjs | - | |
| onChange | Callback for when date changes | function(date: Dayjs) | - | |
| onPanelChange | Callback for when panel changes | function(date: Dayjs, mode: string) | - | |
| onSelect | Callback for when a date is selected, include source info | function(date: Dayjs, info: { source: 'year' | 'month' | 'date' | 'customize' }) | - | info: 5.6.0 | 
| Token Name | Description | Type | Default Value | 
|---|---|---|---|
| fullBg | Background color of full calendar | string | #ffffff | 
| fullPanelBg | Background color of full calendar panel | string | #ffffff | 
| itemActiveBg | Background color of selected date item | string | #e6f4ff | 
| miniContentHeight | Height of mini calendar content | string | number | 256 | 
| monthControlWidth | Width of month select | string | number | 70 | 
| yearControlWidth | Width of year select | string | number | 80 | 
See How to set locale for date-related components
See FAQ Date-related-components-locale-is-not-working?
onSelect provide info.source to help on this:
<CalendaronSelect={(date, { source }) => {if (source === 'date') {console.log('Panel Select:', source);}}}/>
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
31  | 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  | 
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
31  | 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  | 
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
31  | 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  | 
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
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  | 
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
31 初九  | 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 二十  | 
| Su | Mo | Tu | We | Th | Fr | Sa | |
|---|---|---|---|---|---|---|---|
36  | 31  | 01  | 02  | 03  | 04  | 05  | 06  | 
37  | 07  | 08  | 09  | 10  | 11  | 12  | 13  | 
38  | 14  | 15  | 16  | 17  | 18  | 19  | 20  | 
39  | 21  | 22  | 23  | 24  | 25  | 26  | 27  | 
40  | 28  | 29  | 30  | 01  | 02  | 03  | 04  | 
41  | 05  | 06  | 07  | 08  | 09  | 10  | 11  | 
| Su | Mo | Tu | We | Th | Fr | Sa | |
|---|---|---|---|---|---|---|---|
36  | 31  | 01  | 02  | 03  | 04  | 05  | 06  | 
37  | 07  | 08  | 09  | 10  | 11  | 12  | 13  | 
38  | 14  | 15  | 16  | 17  | 18  | 19  | 20  | 
39  | 21  | 22  | 23  | 24  | 25  | 26  | 27  | 
40  | 28  | 29  | 30  | 01  | 02  | 03  | 04  | 
41  | 05  | 06  | 07  | 08  | 09  | 10  | 11  | 
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
31  | 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  |