在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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
