PowerShell:比较日期

piz*_*m13 30 powershell

我正在查询日期的数据源.根据我搜索的项目,它可能有多个与之关联的日期.

get-date ($Output | Select-Object -ExpandProperty "Date")
Run Code Online (Sandbox Code Playgroud)

输出的示例如下:

Monday, April 08, 2013 12:00:00 AM
Friday, April 08, 2011 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

我想比较一下这些日期,并回顾未来的日期.

And*_*rin 84

由于Get-Date返回一个DateTime对象,你可以将它们直接比较.一个例子:

(get-date 2010-01-02) -lt (get-date 2010-01-01)
Run Code Online (Sandbox Code Playgroud)

将返回false.


Mik*_*e Q 12

我想展示它除了检查“-lt”之外还有多么强大。

示例:我用它来计算 Windows 事件视图应用程序日志的时间差异:

获取两个日期时间之间的差异:

PS> $Obj = ((get-date "10/22/2020 12:51:1") - (get-date "10/22/2020 12:20:1 "))
Run Code Online (Sandbox Code Playgroud)

创建的对象:

PS> $Obj


Days              : 0
Hours             : 0
Minutes           : 31
Seconds           : 0
Milliseconds      : 0
Ticks             : 18600000000
TotalDays         : 0.0215277777777778
TotalHours        : 0.516666666666667
TotalMinutes      : 31
TotalSeconds      : 1860
TotalMilliseconds : 1860000
Run Code Online (Sandbox Code Playgroud)

直接访问项目:

PS> $Obj.Minutes
31
Run Code Online (Sandbox Code Playgroud)