繼承於 QAbstractSpinBox
日期格式符:
d 沒有前導零的數字的日期(1到31)
ddd 縮寫的本地化日期名稱(例如'Mon'到'Sun'
dddd 完整本地化的日期名稱(例如“星期一”到“星期日”)
M 沒有前導零的數字的月份(1-12)
MM 月份為前導零的數字(01-12)
MMM 縮寫的本地化月份名稱(例如'Jan'到'Dec')
MMMM 完整的本地化月份名稱(例如“1月”到“12月”)
yy 年份為兩位數字(00-99)
yyyy 年份為四位數字
時間格式符:
h 沒有前導零的小時(如果顯示AM / PM,則為0到23或1到12)
hh 前導零的小時(如果AM / PM顯示,則為00到23或01到12)
H 沒有前導零的小時(0到23,即使有AM / PM顯示)
HH 前導零的小時(00到23,即使有AM / PM顯示)
m 沒有前導零的分鍾(0到59)
mm 前導零(00到59)的分鍾
s 整個秒沒有前導零(0到59)
ss 帶有前導零(00到59)
z 第二個小數部分, 沒有尾隨零的毫秒(0到999)
zzz 第二個小數部分, 有尾隨零的毫秒(000到999)
AP / A 使用AM / PM顯示 AM--上午 PM--下午
ap / a 使用am / pm顯示
t 時區
QDateTimeEdit:
import sys from PyQt5.QtWidgets import QApplication, QWidget,QDateTimeEdit,QPushButton from PyQt5.QtCore import QDateTime,QDate,QTime class Demo(QWidget): def __init__(self): super().__init__() self.resize(300,300) def A(): s=t.elapsed() #返回從start()或restart()開始計時到這條語句的毫秒數 #section操作 s = dte1.sectionCount() # 獲取section個數--就是日期時間格式個數 s=dte1.currentSectionIndex() #返回當前Section的序號 dte1.setFocus() #注意:獲取焦點指令會把section的序號返回0 #dte1.setCurrentSectionIndex(3) #設置當前操作的日期時間section--根據序號 dte1.setCurrentSection(QDateTimeEdit.SecondSection) #設置當前操作的日期時間section--根據指定的section #QDateTimeEdit.YearSection 年部分 #QDateTimeEdit.MonthSection 月部分 #QDateTimeEdit.DaySection 日部分 #QDateTimeEdit.HourSection 小時部分 #QDateTimeEdit.MinuteSection 分部分 #QDateTimeEdit.SecondSection 秒部分 #QDateTimeEdit.MSecSection 毫秒部分 #QDateTimeEdit.AmPmSection #QDateTimeEdit.NoSection 沒有 s=dte1.sectionText(QDateTimeEdit.HourSection) #返回指定section的文本 print(s) def B(): dte1.setCalendarPopup(True) #是否彈出日歷控件 #True 按鈕變成下拉按鈕,點擊下拉按鈕彈出日歷控件 #calendarPopup() 返回是否彈出日歷控件 s=dte1.dateTime() #獲取QDateTime s=dte1.date() #獲取QDate s=dte1.time() #獲取QTime btn=QPushButton('按鈕',self) btn.move(80,250) btn.clicked.connect(A) btn1 = QPushButton('按鈕1', self) btn1.move(160, 250) btn1.clicked.connect(B) dte=QDateTimeEdit(self) #實例化一個日期時間控件 dte.move(100,20) dt=QDateTime(1968,1,4,7,38,4) #創建日期時間對象;1968年1月4日7點38分4秒 dte1 = QDateTimeEdit(dt,self) # 實例化一個日期時間控件--自定義日期時間 #參數1 可以是QDateTime,QDate,QTime dte1.move(100,70) dte2 = QDateTimeEdit(QDate.currentDate(), self) # 實例化一個日期控件--沒有時間 dte2.move(100, 120) dte2 = QDateTimeEdit(QTime.currentTime(), self) # 實例化一個時間控件--沒有日期 dte2.move(100, 170) #QDateTime類 dt=QDateTime.currentDateTime() #獲取系統當前日期時間 #QDateTime(2019, 6, 6, 10, 37, 26, 884) dt1=dt.addYears(2) #在dt基礎上增加2年后賦值給dt1,dt不變 dt1=dt.addMonths(2) #在dt基礎上增加2月后賦值給dt1,dt不變 dt1=dt.addSecs(2) #在dt基礎上增加2秒后賦值給dt1,dt不變 dt1 = dt.addMSecs(2) #在dt基礎上增加2毫秒后賦值給dt1,dt不變 dt1 = dt.addDays(2) # 在dt基礎上增加2日后賦值給dt1,dt不變 s=dt.offsetFromUtc() #返回與國際標准時間的差,秒 #dte1.setDisplayFormat('yy-MM-dd mm:ss:zzz') #設置顯示格式 #displayFormat() -> str 返回格式符 #日期時間范圍: dte1.setMaximumDateTime(QDateTime(2020, 2, 10, 1, 5, 5)) # 設置最大日期時間 # 默認 9999年12月31日 23:59:59 999毫秒 #maximumDateTime() -> QDateTime 返回最大日期時間 #clearMaximumDateTime() 清除自定義的最大日期時間,恢復默認值 #setMinimumDateTime(QDateTime) 設置最小日期時間 #minimumDateTime() -> QDateTime 返回最小日期時間 #clearMinimumDateTime() 清除自定義的最小日期時間,恢復默認值 #dte1.setDateTime() #設置日期時間范圍范圍 #日期范圍: #setMaximumDate(QDate) 設置最大日期,默認包含9999年12月31日 #maximumDate() -> QDate 獲取最大日期 #clearMaximumDate() 清除自定義最大日期, 恢復默認 #setMinimumDate(QDate) 設置最小日期,默認1752年9月14日 #minimumDate() -> QDate 獲取最小日期 #clearMinimumDate() 清除自定義最小日期, 恢復默認 #setDateRange(min_date, max_date) 日期范圍 #時間范圍: #setMaximumTime(QTime) 設置最大時間 #maximumTime() -> QTime 返回最大時間 #clearMaximumTime() 清除自定義時間 #setMinimumTime(QTime) 設置最小時間 #minimumTime() -> QTime 返回最小時間 #clearMinimumTime() 清除最小時間 #setTimeRange(min_time, max_time) 設置范圍 #QDateEdit 日期控件款 #QTimeEdit 時間控件框 #QTime類 t1=QTime(8,20) #實例化時間對象-8點20分 t=QTime.currentTime() #獲取系統當前時間 t.start() #開始計時 #restart() 重新開始計時 t1=t.addSecs(5) #在t基礎上增加5秒后賦值給t1,t不變 t1=t1.addMSecs(5) #在t基礎上增加5毫秒后賦值給t1,t不變 t1=t.hour() #獲取hour t1=t.minute() #獲取minute t1=t.second() #獲取second t1=t.msec() #獲取毫秒 #QDate類 d=QDate(1968,1,4) d.setDate(1996, 3, 18) #設置日期 d = QDate.currentDate() # 獲取當前日期 print(d) s=d.addYears(2) #增加2年,d不變 s=d.addMonths(2) #增加2月,d不變 s=d.addDays(2) #增加2日,d不變 s=d.day() #獲取日 s=d.month() #獲取月 s=d.year() #獲取年 s=d.dayOfWeek() #獲取星期幾 s=d.dayOfYear() #這一年 第幾日 s=d.daysInMonth() #這一月總共多少天 s=d.daysInYear() #這一年總共多少天 s=d.daysTo(QDate(2019,5,4)) #計算時間差 單位:日 #參數中的日期減去d print(s) #信號 dte1.dateTimeChanged.connect(lambda x:print('日期時間改變了',x)) #日期時間發生改變時發出信號 #把改變后的QDateTime傳給槽函數 #dateChanged(QDate date) 日期改變時發出信號 #timeChanged(QTime time) 時間改變時發出信號 if __name__ == '__main__': app = QApplication(sys.argv) demo = Demo() demo.show() sys.exit(app.exec_())
天子驕龍