如何使用Python计算Log中两个时间的差值

本文介绍了如何使用Python计算两个时间戳之间的差值,通过定义一系列辅助函数,将时间戳转换为datetime对象并计算差值,最后将结果转换为毫秒和分钟秒毫秒的形式展示。
有时候需要计算两个时间之间的差值,如果用口算很容易出现失误,这时候借助于Python就可以很容易地解决该问题

1、按如下步伐操作,能有现成计算的直接用现成的,没有的再自己写函数
2.打包成exe,方便传播






#-*- coding:utf-8 -*-
import datetime
from tkinter import *

class Calu():
    def Month(a):
        Mon = int(a[0]) * 10 + int(a[1])
        return Mon


    def Day(a):
        Da = int(a[3]) * 10 + int(a[4])
        return Da


    def Hour(a):
        Hou = int(a[6]) * 10 + int(a[7])
        return Hou


    def Mini(a):
        Min = int(a[9]) * 10 + int(a[10])
        return Min


    def Seco(a):
        Sec = int(a[12]) * 10 + int(a[13])
        return Sec


    def HMM(a):
        HM = int(a[15]) * 100 + int(a[16]) * 10 + int(a[17])
        return HM


    def HMMC(a, b):
        if b >= a:
            return b - a
        else:
            return ((1000 + b) - a)

    def TimeInternal(t1,t2):
        Year = 2020
        numA = datetime.datetime(Year, Calu.Month(t1), Calu.Day(t1), Calu.Hour(t1), Calu.Mini(t1), Calu.Seco(t1), Calu.HMM(t1))
        numB = datetime.datetime(Year, Calu.Month(t2), Calu.Day(t2), Calu.Hour(t2), Calu.Mini(t2), Calu.Seco(t2), Calu.HMM(t2))

        DayCha = (numB - numA).days
        SecCha = (numB - numA).seconds
        HmCha = Calu.HMMC(Calu.HMM(t1), Calu.HMM(t2))
        Total = DayCha * 24 * 60 * 60 * 1000 + SecCha * 1000 + HmCha
        return Total
    def Huansuan(ms):
        Hms = int(ms%1000)
        second =int(ms%(1000*60)/1000)
        min = int(ms/(1000*60))
        return str(min) +"分" + str(second) +"秒" +str(Hms) +"毫秒"

if __name__ == "__main__":
    def cal():
        a1=equ1.get()
        a2=equ2.get()
        s=Calu.TimeInternal(a1,a2)
        Hm = Calu.Huansuan(s)
        out1.configure(text="这两个时间之间相差为(毫秒):"+str(s))
        out2.configure(text="换算为分钟秒毫秒):" + str(Hm))
    root = Tk()
    root.title("hello world")
    label1 = Label(root,text="第一个时间戳:")
    label1.pack()
    equ1 = Entry(root)
    equ1.pack(padx=50,pady=10)
    label2 = Label(root,text="第二个时间戳:")
    label2.pack()
    equ2 = Entry(root)
    equ2.pack(padx=50,pady=10)
    out1 = Label(root)
    out1.pack()
    out2= Label(root)
    out2.pack()
    btn = Button(root,text="开始计算差值",command=cal)
    btn.pack(pady=5)
    root.mainloop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值