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_())  # 结束进程,退出程序

运行结果:
时间转换工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值