欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PowerShell中计算时间差的方法

程序员文章站 2022-05-21 19:34:19
powershell中有一个new-timespan的cmdlet,使用它可以很方便的计算两个时间之间的差值。差值还可以提取出年、月、日、时、分、秒。 以前,小编想要知道...

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计算时间差,本文就介绍这么多,希望对大家有所帮助,谢谢!