2015-11-20 108 views
0

問題wxpython> DatePickerCtrl obj - 如何將'年份'從2位數字轉換爲4位數字?

在GUI DatePickerCtrl OBJ,日期格式是:毫米/日/年

如果我得到DatePickerCtrl OBJ值,日期格式是: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年'

CURRENT

11/20/15 

DESIRED

11/20/2015 

回答

1

GetValueDatePickerCtrl返回wx.DateTime對象,以便回答是簡單的像下面方法。

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

這裏是一個wx.DateTimelink。您可以輕鬆獲得月份(GetMonth())和日期(GetDay()),小時,分鐘等。

0

問題解決了。

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 
1

您需要使用wx.DateTime.Format()

datePicker = wx.DatePickerCtrl(frame, wx.ID_ANY, wx.DefaultDateTime) 
sel_date = datePicker.GetValue() 
print sel_date.Format("%d-%m-%Y") 

附:什麼是在wx.adv.DatePickerCtrl中間做什麼?

相關問題