File tree Expand file tree Collapse file tree
kivymd/uix/pickers/timepicker Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -694,26 +694,44 @@ def __init__(self, **kwargs):
694694 am_pm = self ._set_current_time ,
695695 )
696696 Clock .schedule_once (
697- lambda x : self .set_time (
698- datetime .time (hour = int (self .hour ), minute = int (self .minute ))
699- )
697+ lambda x : self ._set_time_init ()
700698 ) # default time
701699
700+ def _set_time_init (self ):
701+ """Sets time dialog to current hour/minute/am_pm values at init"""
702+
703+ if int (self .hour ) > 12 :
704+ self .am_pm = 'pm'
705+ self .hour = str (int (self .hour ) - 12 )
706+ elif int (self .hour ) == 0 :
707+ self .am_pm = 'am'
708+ self .hour = '12'
709+
710+ self ._set_time_input (self .hour , self .minute )
711+ self ._set_dial_time (self .hour , self .minute )
712+ self ._set_am_pm (self .am_pm )
713+ self ._set_current_time ()
714+
702715 def set_time (self , time_obj : datetime .time ) -> None :
703716 """Manually set time dialog with the specified time."""
704-
717+
705718 hour = time_obj .hour
706719 minute = time_obj .minute
707-
708- if hour > 12 :
709- hour -= 12
710- mode = "pm"
720+
721+ self ._set_time_input (hour , minute )
722+
723+ if hour < 12 :
724+ mode = 'am'
711725 else :
712- mode = "am"
726+ mode = 'pm'
727+
728+ if hour == 0 :
729+ hour = 12
730+ elif hour > 12 :
731+ hour -= 12
713732
714733 hour = str (hour )
715734 minute = str (minute )
716- self ._set_time_input (hour , minute )
717735 self ._set_dial_time (hour , minute )
718736 self ._set_am_pm (mode )
719737 self ._set_current_time ()
You can’t perform that action at this time.
0 commit comments