Windows获取机器运行时长,求时间差

Windows求时间差 vbs脚本

格式:

difMinute = datediff("s","startTime", "endTime")
示例:
difMinute = datediff("s","2022-03-06 02:00", "2022-03-07 10:23")
解释:
# d 		日
# ww		周
# h 		小时
# m 		分钟
# s 		秒

案例1:

difMinute = datediff("s","2022-03-06 02:00", "2022-03-07 10:23") / 60 / 60
Wscript.Echo "difMinute:" & difMinute
difM=Round(difMinute,2)
min=split(difM,".")(1)*60/100
m=round(min,0)
h=split(difM,".")(0)
Wscript.Echo "difM:" & h &" 小时 "& m &" 分钟"

案例2:
获取机器运行时长,即从开机到现在经过多久时间(当前时间 - 开机时间)

Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colLoggedEvents = WMI.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = 'System' And EventCode = '6005' Or EventCode = '6006'")
For Each objEvent In colLoggedEvents
    Flag = Flag +1
    If Flag = 1 Then
        startTime=UTCtoNow(objEvent.TimeWritten)
    End If
Next

CurrentDate = year(Now) &"-"& Month(Now) &"-"& day(Now)
CurrentTime = Hour(Now) &":"& Minute(Now) &":"& Second(Now)

currentTime = CurrentDate &" "& CurrentTime

difMinute = datediff("s",startTime,currentTime ) / 60 / 60
difM = round(difMinute,2)
m=Round(split(difM,".")(1)*60/100,0)
h=split(difM,".")(0)

Wscript.Echo "difM:" & h &" 小时 "& m &" 分钟"

Function UTCtoNow(nD)
    If Not IsNull(nD) Then
    Set SWDT = CreateObject("WbemScripting.SWbemDateTime")
    SWDT.Value = nD
    UTCtoNow = SWDT.GetVarDate(True)
    End If
End Function
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值