如何将Get-WinEvent的TimeCreated转换为yyyy-MM-dd-hh-mm-ss格式?

时间:2016-06-07 11:10:29

标签: date powershell datetime time powershell-v2.0

在Windows 7上的PowerShell 2.0中,我可以将时间/日期格式格式化为:

Get-Date -format yyyy-MM-dd-HH-mm-ss

,输出为:

2016-06-07-01-04-16

但现在我有以下命令:

Get-WinEvent -max 1 | Select-Object TimeCreated, Id

,输出为:

7.6.2016 13:01:46   444

注意:444是Id列,在我们的案例中并不重要。

如何使用yyyy-MM-dd-HH-mm-ss对其进行格式化以获取:

2016-06-07-13-01-46 444

2 个答案:

答案 0 :(得分:2)

您可以使用calculated property

Get-WinEvent -max 1 | Select-Object  @{name='TimeCreated'; expression={$_.TimeCreated.ToString("yyyy-MM-dd-hh-mm-ss")}}, Id

答案 1 :(得分:1)

这样做的一种方法是:

Get-WinEvent -max 1 | Select-Object TimeCreated, Id,
    @{Name='SpecialDate';Expression={$_.TimeCreated.ToString('yyyy-MM-dd-HH-mm-ss')}}

生成:

TimeCreated : 7/06/2016 13:21:17
Id          : 4648
SpecialDate : 2016-06-07-13-21-17

使用Get-Member,你可以找到CmdLet的所有可能性(Moethods,属性,......):

Get-Date | Get-Member

使用Get-Help,您可以了解如何使用CmdLet:

Get-Help Select-Object -Examples

希望这可以帮助你。