PowerShell中的TimeSpan时间差对象使用实例

765 查看

TimeSpan对象表示一个时间差,比如今天的10点10分,和明天的12点12分,就差1天2小时2分。这个“1天2小时2分”就是一个TimeSpan。这个东西有什么用呢?小编之前在做一个小东西的时候,需要评估一下两个不同的方法看哪个效率更高。于是小编在程序开始的时候,设置一个起始时间,在程序结束的时候再设置一个结束时间,然后两个时间一相减,得到一个时间差,洪哥以时间差小者为优。

下面是几个使用TimeSpan对象的例子:

创建一个TimeSpan对象,表示1天3小时

复制代码 代码如下:
New-TimeSpan -Days 1 -Hours 3

创建一个TimeSpan对象,表示当前时间到'2013-12-24 18:30:00'之前的时间差

复制代码 代码如下:
New-Timespan -End '2013-12-24 18:30:00'

# get a timespan by subtracting two dates:


通过两个时间相减,得到一个TimeSpan时间差对象
复制代码 代码如下:
[DateTime]'2013-12-24 18:30:00'  - (Get-Date)

今天减一天,[TimeSpan]'1.00:00:00'表示时间差1天

复制代码 代码如下:
(Get-Date) - [TimeSpan]'1.00:00:00'

取时间差中的天数

复制代码 代码如下:
$days = (New-Timespan -End '2013-12-24 18:30:00').Days
"Days to Christmas: $days"

取时间差的负数

复制代码 代码如下:
$timespan = New-TimeSpan -Days 1
$timespan.Negate()
$timespan

直接创建一个负的时间差

复制代码 代码如下:
New-TimeSpan -Days -1