@@ -13,7 +13,6 @@ import relativeTime from 'dayjs/plugin/relativeTime';
1313import localizedFormat from 'dayjs/plugin/localizedFormat' ;
1414import 'dayjs/locale/zh-cn' ;
1515import {
16- getFormatted ,
1716 dateToUnix ,
1817 getEndOfDay ,
1918 getStartOfDay ,
@@ -100,6 +99,7 @@ const DateTimePicker: React.FC<
10099 startDate,
101100 endDate,
102101 dates,
102+ format = 'YYYY-MM-DD HH:mm:ss' ,
103103 onChange,
104104 initialView = 'day' ,
105105 height,
@@ -306,21 +306,27 @@ const DateTimePicker: React.FC<
306306 } ) ;
307307
308308 ( onChange as SingleChange ) ?.( {
309- date : newDate ,
309+ date : dayjs ( newDate ) . format ( format ) ,
310310 } ) ;
311311 } else if ( mode === 'range' ) {
312312 const sd = stateRef . current . startDate ;
313313 const ed = stateRef . current . endDate ;
314314
315315 let newDateRang : Parameters < RangeChange > [ 0 ] = {
316- startDate : getStartOfDay ( datetime ) ,
316+ startDate : getStartOfDay ( datetime ) . format ( format ) ,
317317 endDate : undefined ,
318318 } ;
319319 if ( sd && ! ed ) {
320320 if ( dateToUnix ( datetime ) >= dateToUnix ( sd ! ) ) {
321- newDateRang = { startDate : sd , endDate : getEndOfDay ( datetime ) } ;
321+ newDateRang = {
322+ startDate : dayjs ( sd ) . format ( format ) ,
323+ endDate : getEndOfDay ( datetime ) . format ( format ) ,
324+ } ;
322325 } else {
323- newDateRang = { startDate : getStartOfDay ( datetime ) , endDate : sd } ;
326+ newDateRang = {
327+ startDate : getStartOfDay ( datetime ) . format ( format ) ,
328+ endDate : dayjs ( sd ) . format ( format ) ,
329+ } ;
324330 }
325331 }
326332
@@ -343,8 +349,8 @@ const DateTimePicker: React.FC<
343349 newDates . sort ( ( a , b ) => ( dayjs ( a ) . isAfter ( dayjs ( b ) ) ? 1 : - 1 ) ) ;
344350
345351 const newDatesObj = {
346- dates : newDates ,
347- datePressed : newDate ,
352+ dates : newDates . map ( ( d ) => dayjs ( d ) . format ( format ) ) ,
353+ datePressed : newDate . format ( format ) ,
348354 change : ( exists
349355 ? 'removed'
350356 : 'added' ) as Parameters < MultiChange > [ 0 ] [ 'change' ] ,
@@ -363,11 +369,11 @@ const DateTimePicker: React.FC<
363369 } ) ;
364370
365371 ( onChange as SingleChange ) ?.( {
366- date : datetime ,
372+ date : dayjs ( datetime ) . format ( format ) ,
367373 } ) ;
368374 }
369375 } ,
370- [ onChange , mode , timePicker ]
376+ [ format , mode , timePicker , onChange ]
371377 ) ;
372378
373379 const onSelectMonth = useCallback (
@@ -381,9 +387,9 @@ const DateTimePicker: React.FC<
381387 } ) ;
382388 if ( mode !== 'wheel' ) setCalendarView ( 'day' ) ;
383389 if ( mode === 'single' || mode === 'wheel' )
384- ( onChange as SingleChange ) ?.( { date : getFormatted ( newDate ) } ) ;
390+ ( onChange as SingleChange ) ?.( { date : newDate . format ( format ) } ) ;
385391 } ,
386- [ maxDate , minDate , mode , onChange , setCalendarView ]
392+ [ format , maxDate , minDate , mode , onChange , setCalendarView ]
387393 ) ;
388394
389395 const onSelectYear = useCallback (
@@ -397,9 +403,9 @@ const DateTimePicker: React.FC<
397403 } ) ;
398404 if ( mode !== 'wheel' ) setCalendarView ( 'day' ) ;
399405 if ( mode === 'single' || mode === 'wheel' )
400- ( onChange as SingleChange ) ?.( { date : getFormatted ( newDate ) } ) ;
406+ ( onChange as SingleChange ) ?.( { date : newDate . format ( format ) } ) ;
401407 } ,
402- [ maxDate , minDate , mode , setCalendarView , onChange ]
408+ [ format , maxDate , minDate , mode , setCalendarView , onChange ]
403409 ) ;
404410
405411 const onChangeMonth = useCallback ( ( month : number ) => {
0 commit comments