在PowerShell中,可以通过Get-Date获取当前日期。日期的类型是.NET中的DateTime类。
获取相对日期自然也可以通过.NET中的日期类库了。例如:
$today=Get-Date "今天是:$today" #昨天 "昨天是:$($today.AddDays(-1))" #明天 "明天是:$($today.AddDays(1))" #一周前 "一周前是: $($today.AddDays(-7))" #五个月前 "五个月前:$($today.AddMonths(-5))" #十年之前 "十年之前:$($today.AddYears(-10).Year)年,我们是朋友." #日期格式化 "格式化日期:" + $today.ToString('yyyy-MM-dd')
输出结果:
今天是:09/05/2012 18:37:55 昨天是:09/04/2012 18:37:55 明天是:09/06/2012 18:37:55 一周前是: 08/29/2012 18:37:55 五个月前:04/05/2012 18:37:55 十年之前:2002年,我们是朋友. 格式化日期:2012-09-05
有了这些相对日期,可以非常方便地进行更深入的操作,例如获取前两天系统的日志
PS C:> Get-EventLog -LogName System -EntryType Error -After (Get-Date).AddDays(-2) Index Time EntryType Source InstanceID Message ----- ---- --------- ------ ---------- ------- 4776 九月 04 23:08 Error DCOM 3221235478 无法找到源“DCOM”中事件 ID“-1073731818”的说... 4393 九月 03 15:09 Error DCOM 3221235478 无法找到源“DCOM”中事件 ID“-1073731818”的说... 4328 九月 03 15:08 Error SNMP 3237938652 当访问注册表项 SYSTEMCurrentControlSetService... 4199 九月 03 15:04 Error DCOM 3221235478 无法找到源“DCOM”中事件 ID“-1073731818”的说... 4140 九月 03 15:04 Error SNMP 3237938652 当访问注册表项 SYSTEMCurrentControlSetService... 3995 九月 03 14:54 Error DCOM 3221235478 无法找到源“DCOM”中事件 ID“-1073731818”的说... 3943 九月 03 14:53 Error SNMP 3237938652 当访问注册表项 SYSTEMCurrentControlSetService... 3753 九月 03 14:36 Error DCOM 3221235478 无法找到源“DCOM”中事件 ID“-1073731818”的说... 3719 九月 03 14:35 Error SNMP 3237938652 当访问注册表项 SYSTEMCurrentControlSetService... 3601 九月 03 14:32 Error Service Control M... 3221232495 Windows Time 服务因下列错误而停止: ... 3599 九月 03 14:32 Error Microsoft-Windows... 46 时间服务遇到一个错误并被强制关闭。错误是: 0x800...
原文链接:http://powershell.com/cs/blogs/tips/archive/2012/08/03/getting-relative-dates.aspx
本文链接: https://www.pstips.net/powershell-get-relative-dates.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!