@@ -587,20 +587,23 @@ export default class DateTimeInput extends PureComponent {
587587
588588 const values = { } ;
589589 formElements . forEach ( ( formElement ) => {
590- values [ formElement . name ] = formElement . value ;
590+ values [ formElement . name ] =
591+ 'valueAsNumber' in formElement
592+ ? formElement . valueAsNumber
593+ : parseInt ( formElement . value , 10 ) ;
591594 } ) ;
592595
593596 if ( formElementsWithoutSelect . every ( ( formElement ) => ! formElement . value ) ) {
594597 onChange ( null , false ) ;
595598 } else if (
596599 formElements . every ( ( formElement ) => formElement . value && formElement . validity . valid )
597600 ) {
598- const year = parseInt ( values . year , 10 ) || new Date ( ) . getFullYear ( ) ;
599- const monthIndex = parseInt ( values . month || 1 , 10 ) - 1 ;
600- const day = parseInt ( values . day || 1 , 10 ) ;
601- const hour = parseInt ( values . hour24 || convert12to24 ( values . hour12 , values . amPm ) || 0 , 10 ) ;
602- const minute = parseInt ( values . minute || 0 , 10 ) ;
603- const second = parseInt ( values . second || 0 , 10 ) ;
601+ const year = 'year' in values ? values . year : new Date ( ) . getFullYear ( ) ;
602+ const monthIndex = ' month' in values ? values . month - 1 : 0 ;
603+ const day = 'day' in values ? values . day : 1 ;
604+ const hour = values . hour24 || convert12to24 ( values . hour12 , values . amPm ) || 0 ;
605+ const minute = values . minute || 0 ;
606+ const second = values . second || 0 ;
604607
605608 const proposedValue = new Date ( ) ;
606609 proposedValue . setFullYear ( year , monthIndex , day ) ;
0 commit comments