Python 之 时间格式转换

  • 一、时间戳转化时间
  • 二、时间转化时间戳
  • 三、获取当前时间戳
  • 四、获取当前时间
  • 五、时间转换工具实例
  • 一、时间戳转化时间

    import time
    
    time_stamp = 1728974383
    time_struct = time.localtime(time_stamp)
    time_standard = time.strftime("%Y-%m-%d %H:%M:%S", time_struct)
    print(time_standard)
    

    运行结果:
    时间戳转化时间

    时间戳有13位和10位之分,其实就是毫秒和秒之分,毫秒单位的时间戳就是13位,秒单位的时间戳就是10位。
    如果13位时间戳想转化为10位时间戳,直接除以1000即可。

    import time
    
    time_stamp = 1728974383246
    time_struct = time.localtime(time_stamp/1000)
    time_standard = time.strftime("%Y-%m-%d %H:%M:%S", time_struct)
    print(time_standard)
    

    运行结果不变:
    时间戳转化时间

    二、时间转化时间戳

    import time
    
    time_standard = "2024-10-15 14:39:44"
    time_struct = time.strptime(time_standard, '%Y-%m-%d %H:%M:%S')
    time_stamp = str(int(time.mktime(time_struct)))
    print(time_stamp)
    

    运行结果:
    时间转化时间戳

    三、获取当前时间戳

    import time
    
    time_now = '%13.3f' % (time.time())
    time_now_stamp = time_now.replace('.', '')
    print(time_now_stamp)
    

    运行结果:
    获取当前时间戳

    四、获取当前时间

    import time
    
    time_now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
    print(time_now)
    

    运行结果:
    获取当前时间

    五、时间转换工具实例

    import sys
    import time
    from PyQt5 import QtCore, QtGui, QtWidgets, uic
    from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
    from PyQt5.QtGui import QIcon
    
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(549, 259)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setGeometry(QtCore.QRect(20, 20, 41, 21))
            self.label.setObjectName("label")
            self.label_2 = QtWidgets.QLabel(self.centralwidget)
            self.label_2.setGeometry(QtCore.QRect(200, 20, 41, 21))
            self.label_2.setObjectName("label_2")
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setGeometry(QtCore.QRect(260, 20, 75, 23))
            self.pushButton.setObjectName("pushButton")
            self.label_3 = QtWidgets.QLabel(self.centralwidget)
            self.label_3.setGeometry(QtCore.QRect(490, 20, 61, 21))
            self.label_3.setObjectName("label_3")
            self.label_4 = QtWidgets.QLabel(self.centralwidget)
            self.label_4.setGeometry(QtCore.QRect(20, 80, 41, 21))
            self.label_4.setObjectName("label_4")
            self.label_5 = QtWidgets.QLabel(self.centralwidget)
            self.label_5.setGeometry(QtCore.QRect(200, 80, 51, 21))
            self.label_5.setObjectName("label_5")
            self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_2.setGeometry(QtCore.QRect(260, 80, 75, 23))
            self.pushButton_2.setObjectName("pushButton_2")
            self.label_6 = QtWidgets.QLabel(self.centralwidget)
            self.label_6.setGeometry(QtCore.QRect(490, 80, 31, 21))
            self.label_6.setObjectName("label_6")
            self.label_7 = QtWidgets.QLabel(self.centralwidget)
            self.label_7.setGeometry(QtCore.QRect(20, 140, 91, 21))
            self.label_7.setObjectName("label_7")
            self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_3.setGeometry(QtCore.QRect(120, 140, 75, 23))
            self.pushButton_3.setObjectName("pushButton_3")
            self.label_8 = QtWidgets.QLabel(self.centralwidget)
            self.label_8.setGeometry(QtCore.QRect(20, 190, 91, 21))
            self.label_8.setObjectName("label_8")
            self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_4.setGeometry(QtCore.QRect(120, 190, 75, 23))
            self.pushButton_4.setObjectName("pushButton_4")
            self.label_9 = QtWidgets.QLabel(self.centralwidget)
            self.label_9.setGeometry(QtCore.QRect(350, 190, 51, 21))
            self.label_9.setObjectName("label_9")
            self.label_10 = QtWidgets.QLabel(self.centralwidget)
            self.label_10.setGeometry(QtCore.QRect(350, 140, 31, 21))
            self.label_10.setObjectName("label_10")
            self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit.setGeometry(QtCore.QRect(60, 20, 131, 20))
            self.lineEdit.setObjectName("lineEdit")
            self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_2.setGeometry(QtCore.QRect(350, 20, 131, 20))
            self.lineEdit_2.setObjectName("lineEdit_2")
            self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_3.setGeometry(QtCore.QRect(60, 80, 131, 20))
            self.lineEdit_3.setObjectName("lineEdit_3")
            self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_4.setGeometry(QtCore.QRect(350, 80, 131, 20))
            self.lineEdit_4.setObjectName("lineEdit_4")
            self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_5.setGeometry(QtCore.QRect(210, 140, 131, 20))
            self.lineEdit_5.setObjectName("lineEdit_5")
            self.lineEdit_6 = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_6.setGeometry(QtCore.QRect(210, 190, 131, 20))
            self.lineEdit_6.setObjectName("lineEdit_6")
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 549, 23))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "时间戳转换"))
            self.label.setText(_translate("MainWindow", "时间戳"))
            self.label_2.setText(_translate("MainWindow", "毫秒"))
            self.pushButton.setText(_translate("MainWindow", "转换→"))
            self.label_3.setText(_translate("MainWindow", "北京时间"))
            self.label_4.setText(_translate("MainWindow", "时间"))
            self.label_5.setText(_translate("MainWindow", "北京时间"))
            self.pushButton_2.setText(_translate("MainWindow", "转换→"))
            self.label_6.setText(_translate("MainWindow", "毫秒"))
            self.label_7.setText(_translate("MainWindow", "获取当前时间戳"))
            self.pushButton_3.setText(_translate("MainWindow", "获取"))
            self.label_8.setText(_translate("MainWindow", "获取当前时间"))
            self.pushButton_4.setText(_translate("MainWindow", "获取"))
            self.label_9.setText(_translate("MainWindow", "北京时间"))
            self.label_10.setText(_translate("MainWindow", "毫秒"))
    
    
    class MyMainWindow(QMainWindow):
    
        def __init__(self):
            super().__init__()
            # 方法一 使用ui文件导入定义界面类
            self.ui = Ui_MainWindow()
            # 初始化界面
            self.ui.setupUi(self)
    
            # # 方法二 从文件中加载UI定义
            # self.ui = uic.loadUi('uiTimeConverter.ui')
    
            self.ui.pushButton.clicked.connect(self.click_pushButton)  # 让click_pushButton来处理button被点击的操作
            self.ui.pushButton_2.clicked.connect(self.click_pushButton_2)  # 让click_pushButton_2来处理button2被点击的操作
            self.ui.pushButton_3.clicked.connect(self.click_pushButton_3)  # 让click_pushButton_3来处理button3被点击的操作
            self.ui.pushButton_4.clicked.connect(self.click_pushButton_4)  # 让click_pushButton_4来处理button4被点击的操作
    
        def click_pushButton(self):  # 点击 pushButton 触发
            try:
                info = self.ui.lineEdit.text()
                # 时间戳转换为时间
                t1 = float(info) / 1000
                t2 = time.localtime(t1)
                t3 = time.strftime("%Y-%m-%d %H:%M:%S", t2)
                self.ui.lineEdit_2.setText(t3)
            except Exception:
                QMessageBox.about(self, "提示", "格式错误,请输入13位数字的时间戳!\n\n example: 1673489272000")
    
        def click_pushButton_2(self):  # 点击 pushButton_2 触发
            try:
                info = self.ui.lineEdit_3.text().replace(' ', '')
                # 时间转成时间戳
                t1 = time.strptime(info, '%Y-%m-%d%H:%M:%S')
                t2 = str(int(time.mktime(t1)) * 1000)
                self.ui.lineEdit_4.setText(t2)
            except Exception:
                QMessageBox.about(self, "提示", "格式错误,请输入正确的北京时间!\n\n example: 2023-01-12 10:07:52")
    
        def click_pushButton_3(self):  # 点击 pushButton_3 触发
            # 获取当前时间戳
            t1 = '%13.3f' % (time.time())
            t2 = t1.replace('.', '')
            self.ui.lineEdit_5.setText(t2)
    
        def click_pushButton_4(self):  # 点击 pushButton_4 触发
            # 获取当前时间
            now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
            self.ui.lineEdit_6.setText(now_time)
    
    
    if __name__ == '__main__':
    
        app = QApplication(sys.argv)  # 在 QApplication 方法中使用,创建应用程序对象
        myWin = MyMainWindow()  # 实例化 MyMainWindow 类,创建主窗口
        myWin.show()  # 方法一 使用ui文件导入定义界面类
        # myWin.ui.show()  # 方法二 从文件中加载UI定义
        sys.exit(app.exec_())  # 结束进程,退出程序
    

    运行结果:
    时间转换工具

    作者:沐槿彧

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python 之 时间格式转换

    发表回复