QDateTime
描述
功能作用
日期时间对象构造
QDateTime() # 创建一个空的QDateTime对象
QDateTime(QDateTime) # 通过QDateTime对象创建一个QDateTime对象
QDateTime(QDate) # 通过QDate对象创建一个QDateTime对象
QDateTime(QDate, QTime, Qt.TimeSpec = Qt.LocalTime)
QDateTime(int, int, int, int, int, second: int = 0, msec: int = 0, timeSpec: int = 0)
# 通过传入年、月、日、时、分创建QDateTime对象,秒、毫秒有默认值可传可不传
QDateTime(QDate, QTime, Qt.TimeSpec, int)
QDateTime(QDate, QTime, QTimeZone)
静态方法
QDateTime.currentDateTime() # 返回当前时间的QDateTime对象
QDateTime.currentDateTimeUtc() # 返回世界标准时间的QDateTime对象
调整日期时间
setDate(const QDate &date) # 通过QDate对象,设置年月日
setTime(const QTime &time) # 通过QTime对象,设置时分秒
addYears(int) # 增加指定年份,返回一个新的QDateTime对象
addMonths(int) # 增加指定月份,返回一个新的QDateTime对象
addDays(int) # 增加指定天数,返回一个新的QDateTime对象
addSecs(int) # 增加指定秒数,返回一个新的QDateTime对象(时和分可以通过)
addMSecs(int) # 增加指定毫秒数,返回一个新的QDateTime对象
计算时间差
offsetFromUtc() # 距离世界标准时间偏差多少秒
secsTo(QDateTime) # 计算两个日期时间对象之间相隔的秒
msecsTo(QDateTime) # 计算两个日期时间对象之间相隔的毫秒
QDate对象
QDate()
QDate(int y, int m, int d) # 通过传入年、月、日创建一个QDate对象
# 静态方法
currentDate() # 获取当前日期,返回QDate对象
setDate(int year, int month, int day) # 设置年、月、日
addYears(int nyears) # 增加年份,返回新的QDate对象
addMonths(int nmonths) # 增加月份,返回新的QDate对象
addDays(qint64 ndays) # 增加天数,返回新的QDate对象
daysTo(const QDate &d) # 计算距离指定日期对象相隔天数
day() # 获取日
month() # 获取月
year() # 获取年
dayOfWeek() # 获取这一周 第几日(周日是第7天)
dayOfYear() # 获取这一年 第几日
daysInMonth() # 获取所在月总共多少天
daysInYear() # 获取所在年总共多少天
QTime对象
QTime() # 创建一个空QTime对象
QTime(int h, int m, int s = 0, int ms = 0) # 创建QTime对象的同时设置时分秒
currentTime() # 获取当前时间,返回一个QTime对象
addSecs(int s) # 增加指定秒数,返回新的QTime对象
addMSecs(int ms) # 增加指定毫秒数,返回新的QTime对象
secsTo(QTime t) # 计算两个QTime对象间隔多少秒
start() # 计时开始
restart() # 重新计时开始,并返回自上次调用 start() 或 restart() 以来经过的毫秒数
elapsed() # 计时结束,返回自上次调用 start() 或 restart() 以来经过的毫秒数
hour() # 获取小时
minute() # 获取分钟
second() # 获取秒
msec() # 获取毫秒
from PyQt5.Qt import *
import sys
class Windows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QDateTime-创建使用')
self.resize(500, 500)
self.widget_list()
def widget_list(self):
self.add_widget()
def add_widget(self):
# dt = QDateTime() # 创建一个空QDateTime对象
dt = QDateTime(2023, 3, 2, 20, 30, 50) # 创建对象的同时设置年、月、日、时、分参数
dt1 = QDateTime.currentDateTime()
d = QDate(2022,12,12)
t = QTime(13, 15)
dt.setDate(d)
dt.setTime(t)
dt1 = dt1.addYears(-1) # QDateTime对象减一年
dt1 = dt1.addDays(1) # QDateTime对象增加一天
dte = QDateTimeEdit(dt, self)
dte1 = QDateTimeEdit(dt1,self)
dte1.move(0, 50)
s = dt.secsTo(dt1) # 计算两个日期时间对象相隔多少秒
h = dt.secsTo(dt1) / 3600 # 计算两个日期时间对象相隔多少小时
print(s, h)
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Windows()
window.show()
sys.exit(app.exec_())
from PyQt5.Qt import *
import sys
class Windows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QDate-创建使用')
self.resize(500, 500)
self.widget_list()
def widget_list(self):
self.add_widget()
def add_widget(self):
date = QDate() # 创建一个空的QDate对象
date1 = QDate(2023,3,5) # 创建QDate对象的同时设置年月日
date2 = QDate.currentDate() # 获取当前日期,返回一个QDate对象
print(date)
print(date1)
print(date2)
date.setDate(2023,2,28) # 给QDate对象设置年月日
date = date.addYears(2) # QDate对象增加年份,返回新的QDate对象
date = date.addMonths(1) # QDate对象增加月份,返回新的QDate对象
date = date.addDays(10) # QDate对象增加天数,返回新的QDate对象
dte = QDateTimeEdit(date,self)
dte1 = QDateTimeEdit(date1,self)
dte2 = QDateTimeEdit(date2,self)
dte.move(50, 50)
dte1.move(50, 100)
dte2.move(50, 150)
print(' day:', date2.day()) # 获取日
print('month:', date2.month()) # 获取月
print(' year:', date2.year()) # 获取年
print(date2.dayOfWeek()) # 获取这一周 第几日(周日是第7天)
print(date1.dayOfWeek())
print(date2.dayOfYear()) # 获取这一年 第几日
print(date2.daysInMonth()) # 获取所在月总共多少天
print(date2.daysInYear()) # 获取所在年总共多少天
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Windows()
window.show()
sys.exit(app.exec_())
from PyQt5.Qt import *
import sys
class Windows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QTime-创建使用')
self.resize(500, 500)
self.widget_list()
def widget_list(self):
self.add_widget()
def add_widget(self):
time0 = QTime()
time1 = QTime(12, 12, 30)
time2 = QTime.currentTime()
time1 = time1.addSecs(360)
# print(time1.secsTo(time2))
dte = QDateTimeEdit(time0, self)
dte1 = QDateTimeEdit(time1, self)
dte2 = QDateTimeEdit(time2, self)
dte.move(50, 50)
dte1.move(50, 100)
dte2.move(50, 150)
time1.start() # 开始计时
btn = QPushButton('计时', self)
btn.move(50, 200)
btn.clicked.connect(lambda :print(time1.elapsed()))
def btn_cao():
# print(time1.elapsed())
print(time1.restart())
btn1 = QPushButton('重新计时', self)
btn1.move(50, 250)
btn1.clicked.connect(btn_cao)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Windows()
window.show()
sys.exit(app.exec_())