pyqt5 时间控件
获取时间内容转化时间戳
QDateTimeEdit
QDateTimeEdit是QDateEdit和QTimeEdit的父类,QDateTimeEdit可以编辑日期和时间,QDateEdit只能编辑日期,而QTimeEdit只能编辑时间(时分秒),QDateTimeEdit讲解如下:
下面展示一些 内联代码片
。
代码演示
import sys
from PyQt5.QtCore import QDate, QTime, QDateTime
from PyQt5.QtWidgets import QApplication, QWidget, QDateTimeEdit, QDateEdit, QTimeEdit, QVBoxLayout
class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.datetime_1 = QDateTimeEdit(self) // 创建时间控件
self.datetime_1.dateChanged.connect(lambda: print('Date Changed!')) //当时间控件改变的时候出发槽函数
self.datetime_2 = QDateTimeEdit(QDateTime.currentDateTime(), self) // 创建时间2控件,并且获取本地时间
self.datetime_2.setDisplayFormat('yyyy-MM-dd HH:mm:ss') //设置输出的格式
print(self.datetime_2.date()) //打印控件2的日期
print(self.datetime_2.time()) //打印控件2的时间
print(self.datetime_2.dateTime()) //打印时间与日期
self.star_str_time = self.datetime_1 .dateTime().toString('yyyy-MM-dd')
//打印出来的格式是 'yyyy-MM-dd'
star_time_array = time.strptime(self.star_str_time, '%Y-%m-%d') // 调用time的strptime方法,把时间转换成时间错
self.end_str_time = self.ui.dateEdit_2.dateTime().toString('yyyy-MM-dd')
end_time_array = time.strptime(self.end_str_time, '%Y-%m-%d')
//获取到的时间戳是10位,如果想转换成13位数,方法如下:
self.star_time = int(round(time.mktime(star_time_array)*1000))
self.end_time = int(round(time.mktime(end_time_array)*1000))
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())