PowerShell中计算时间差的方法

时间:2022-01-17 00:52:09

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

以前,小编想要知道当时时间到十一放假还有多少天时,小编一般会写一个VBScript脚本来简单计算一下。这个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:\Users\zhanghong> (New-TimeSpan 2013-10-1).days
-12
PS C:\Users\zhanghong> (New-TimeSpan -end 2013-10-1).days
12
PS C:\Users\zhanghong> (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相差多少天,很显然,结果为零!

 

好了,关于PowerShell中使用New-TimeSpan计算时间差,本文就介绍这么多,希望对大家有所帮助,谢谢!