Search code examples
pythondatepickerwxpython

wxpython > DatePickerCtrl obj - How can I convert 'year' from 2 digits into 4 digits?


PROBLEM

In GUI DatePickerCtrl obj, the date format is: mm/dd/yyyy

if I get the DatePickerCtrl obj value, the date format is: mm/dd/yy hh:mm:ss

CODE snippet

datePicker = wx.adv.DatePickerCtrl( frame, wx.ID_ANY, wx.DefaultDateTime)
print datePicker.GetValue() # This outputs  11/20/15 14:20:55

I can convert to string and slice [:-8] but I cannot convert '15' into '2015'

CURRENT

11/20/15

DESIRED

11/20/2015

Solution

  • GetValue method of DatePickerCtrl returns wx.DateTime object so answer is simple like below.

    dpc = wx.DatePickerCtrl(self)
    datetime_obj = dpc.GetValue()
    datetime_obj.GetYear()  # -> returns year as four digit integer
    

    Here is a link for wx.DateTime. You can get the month (GetMonth()) and day (GetDay()), hour, minute, etc. easily as well.