PowerShell中如何计算时间差?

发布时间:2020-06-08编辑:脚本学堂
本文介绍了PowerShell中计算时间差的方法,使用New-TimeSpan的cmdlet,计算两个时间之间的差值,简单好用,需要的朋友参考下。

如何在powershell/ target=_blank class=infotextkey>shell脚本中计算两个时间的差值呢?

powershell中有一个New-TimeSpan的cmdlet,使用它可以很方便的计算两个时间之间的差值。
差值还可以提取出年、月、日、时、分、秒。

比如,我们想知道当前时间到十一放假还有多少天时,如果用vbscript脚本来写的话,可以这样:
 

复制代码 代码示例:
MsgBox datediff("d", Now(), "2013-10-1")

然后把文件保存为xxx.vbs,双击即可看到效果。

如果需要实现还有多少秒即将迎来下班,可以将代码修改为:
 

复制代码 代码示例:
MsgBox DateDiff("s", Now(), Date() & " 18:00:00")  '悲摧的小编的公司是18点下班

下面,开始我们本节的重点:如何在PowerShell中计算时间差?

PowerShell中有一个非常有用的cmdlet小东西,那就是New-TimeSpan。

你子:
 

复制代码 代码示例:
PS C:Userszhanghong> (New-TimeSpan 2013-10-1).days
-12
PS C:Userszhanghong> (New-TimeSpan -end 2013-10-1).days
12
PS C:Userszhanghong> (New-TimeSpan 2013-10-1 -end 2013-10-1).days
0

代码说明:
第一个命令,使用New-TimeSpan来计算2013-10-1到当前时间相隔多少天。
因为当前是2013-9-18(国难日啊,我们要认真学习,以雪国耻!),这个时间比10月1日早,所以得到的天数是-12。
第二个命令,反过来了,计算当前时间到2013-10-1还差多少天,结果就是正12天了。
第三个命令,计算2013-10-1到2013-10-1相差多少天,很显然,结果为零!

如此看来,用vbscript要写很长的代码,powershell中计算时间差,一行代码就搞定了。

努力学习powershell吧。