forked from muziing/PyQt_practice
-
Notifications
You must be signed in to change notification settings - Fork 0
/
01-QDateTime、QDate、QTime.py
83 lines (63 loc) · 2.79 KB
/
01-QDateTime、QDate、QTime.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import sys
import time
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QDateTime")
self.resize(500, 500)
self.move(400, 250)
self.setup_ui()
def setup_ui(self):
# QDateTime QDate QTime 这三个类之间没有继承关系
# QDateTime
# -------------创建----------------
# dt = QDateTime()
# dt = QDateTime(2021, 5, 8, 12, 30) # 创建时设置年、月、日、时、分
dt = QDateTime.currentDateTime() # 静态方法,获取当前时间
# dt = QDateTime.currentDateTimeUtc() # 静态方法,获取当前的UTC时间
print("dt:", dt)
# -------------调整日期时间------------
dt_add_year = dt.addYears(1) # 增加1年,返回一个新的QDateTime对象
print("dt_add_year:", dt_add_year)
print("dt_add_secs", dt.addSecs(600)) # 增加小时或分钟没有专门的函数,需要通过增加秒来设置
dt.setTime(QTime(12, 5, 31, 0)) # 设置时间
# -----------计算时间差-----------
print(
"offset from UTC", QDateTime.offsetFromUtc(QDateTime.currentDateTime())
) # 本地时间与UTC时间之差(单位为s)
print(dt.secsTo(QDateTime.currentDateTime())) # 计算两个时间之差,单位s
# ----------展示时间-------
dte = QDateTimeEdit(dt, self) # 方便查看起见,展示一下dt的信息
dte.move(100, 100)
# QDate
# ---------构造----------
# qd = QDate(2020, 1, 1) # 构造时传入年月日信息
qd = QDate.currentDate()
print(QDate.currentDate()) # 获取当前日期
# --------调整日期------
# 类似QDateTime
# ---------计算时间差-----
print("dates to 2001.1.1:", QDate(2001, 1, 1).daysTo(qd))
# ---------获取时间--------
print("day of week", qd.dayOfWeek()) # 这一周的第几日
print("day of year", qd.dayOfYear()) # 这一年的第几日
print("days in month", qd.daysInMonth()) # 这一月总共多少天
print("days in year", qd.daysInYear()) # 这一年总共多少天
# QTime
# --------构造--------
# my_time = QTime(12, 00)
my_time = QTime.currentTime()
# -------调整时间-------
# 类似QDAteTime
# --------计算时间差------
print("secs to:", my_time.secsTo(QTime(12, 0)))
# -------计时----------
my_time.start() # 开始计时
time.sleep(1)
print(my_time.elapsed()) # 从开始计时到执行此函数中间所用时间,单位ms
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())