wxpython > DatePickerCtrl obj - 如何将 'year' 从 2 位数字转换为 4 位数字?
wxpython > DatePickerCtrl obj - How can I convert 'year' from 2 digits into 4 digits?
问题
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
代码片段
datePicker = wx.adv.DatePickerCtrl( frame, wx.ID_ANY, wx.DefaultDateTime)
print datePicker.GetValue() # This outputs 11/20/15 14:20:55
我可以转换为字符串和切片 [:-8]
但我无法将 '15' 转换为 '2015'
当前
11/20/15
期望
11/20/2015
问题已解决。
import time
fullTime = str(datePicker.GetValue())[:-8]
print fullTime
firstHalf = fullTime[:6]
print "firstHalf is: " , firstHalf
secondHalf = fullTime[-3:]
print "secondHalf", secondHalf
year = int(secondHalf)
if 59 <= year <= 99:
secondHalf = '19' + secondHalf
else:
secondHalf = '20' + secondHalf
print "altered_secondHalf", secondHalf
finalTime = firstHalf + secondHalf
print finalTime
GetValue
DatePickerCtrl
returns wx.DateTime
对象的方法所以答案很简单,如下所示。
dpc = wx.DatePickerCtrl(self)
datetime_obj = dpc.GetValue()
datetime_obj.GetYear() # -> returns year as four digit integer
这是 wx.DateTime
的 link。您也可以轻松获取月份 (GetMonth()
) 和日期 (GetDay()
)、小时、分钟等。
您需要使用 wx.DateTime.Format()
datePicker = wx.DatePickerCtrl( frame, wx.ID_ANY, wx.DefaultDateTime)
sel_date = datePicker.GetValue()
print sel_date.Format("%d-%m-%Y")
p.s。 adv 在 wx.adv.DatePickerCtrl 中间做什么?
问题
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
代码片段
datePicker = wx.adv.DatePickerCtrl( frame, wx.ID_ANY, wx.DefaultDateTime)
print datePicker.GetValue() # This outputs 11/20/15 14:20:55
我可以转换为字符串和切片 [:-8]
但我无法将 '15' 转换为 '2015'
当前
11/20/15
期望
11/20/2015
问题已解决。
import time
fullTime = str(datePicker.GetValue())[:-8]
print fullTime
firstHalf = fullTime[:6]
print "firstHalf is: " , firstHalf
secondHalf = fullTime[-3:]
print "secondHalf", secondHalf
year = int(secondHalf)
if 59 <= year <= 99:
secondHalf = '19' + secondHalf
else:
secondHalf = '20' + secondHalf
print "altered_secondHalf", secondHalf
finalTime = firstHalf + secondHalf
print finalTime
GetValue
DatePickerCtrl
returns wx.DateTime
对象的方法所以答案很简单,如下所示。
dpc = wx.DatePickerCtrl(self)
datetime_obj = dpc.GetValue()
datetime_obj.GetYear() # -> returns year as four digit integer
这是 wx.DateTime
的 link。您也可以轻松获取月份 (GetMonth()
) 和日期 (GetDay()
)、小时、分钟等。
您需要使用 wx.DateTime.Format()
datePicker = wx.DatePickerCtrl( frame, wx.ID_ANY, wx.DefaultDateTime)
sel_date = datePicker.GetValue()
print sel_date.Format("%d-%m-%Y")
p.s。 adv 在 wx.adv.DatePickerCtrl 中间做什么?