@@ -2,7 +2,7 @@ import KeyCode from 'rc-util/lib/KeyCode';
22import raf from 'rc-util/lib/raf' ;
33import isVisible from 'rc-util/lib/Dom/isVisible' ;
44import type { GenerateConfig } from '../generate' ;
5- import type { CustomFormat , PanelMode , PickerMode } from '../interface' ;
5+ import type { CustomFormat , PanelMode , PickerMode , Locale } from '../interface' ;
66
77const scrollIds = new Map < HTMLElement , number > ( ) ;
88
@@ -149,36 +149,34 @@ export function getDefaultFormat<DateType>(
149149 picker : PickerMode | undefined ,
150150 showTime : boolean | object | undefined ,
151151 use12Hours : boolean | undefined ,
152+ locale : Locale ,
152153) {
153- let mergedFormat = format ;
154- if ( ! mergedFormat ) {
155- switch ( picker ) {
156- case 'time' :
157- mergedFormat = use12Hours ? 'hh:mm:ss a' : 'HH:mm:ss' ;
158- break ;
159-
160- case 'week' :
161- mergedFormat = 'gggg-wo' ;
162- break ;
163-
164- case 'month' :
165- mergedFormat = 'YYYY-MM' ;
166- break ;
167-
168- case 'quarter' :
169- mergedFormat = 'YYYY-[Q]Q' ;
170- break ;
171-
172- case 'year' :
173- mergedFormat = 'YYYY' ;
174- break ;
175-
176- default :
177- mergedFormat = showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD' ;
178- }
154+ if ( format ) return format ;
155+
156+ if ( picker === 'time' ) {
157+ return use12Hours ? 'hh:mm:ss a' : 'HH:mm:ss' ;
158+ }
159+
160+ if ( picker === 'week' ) {
161+ return locale . weekFormat ?? 'gggg-wo' ;
162+ }
163+
164+ if ( picker === 'month' ) {
165+ return locale . monthFormat ?? 'YYYY-MM' ;
179166 }
180167
181- return mergedFormat ;
168+ if ( picker === 'quarter' ) {
169+ return locale . quarterFormat ?? 'YYYY-[Q]Q' ;
170+ }
171+
172+ if ( picker === 'year' ) {
173+ return locale . yearFormat ?? 'YYYY' ;
174+ }
175+
176+ return showTime
177+ ? ( locale . dateTimeFormat ?? 'YYYY-MM-DD HH:mm:ss' )
178+ : ( locale . dateFormat ?? 'YYYY-MM-DD' ) ;
179+
182180}
183181
184182export function getInputSize < DateType > (
0 commit comments