例如,当您使用(Get-Date)cmdlet时,将得到一种不错的格式,例如下面的代码。但是,如果您使用ToString(),则会以一种格式获取它,例如6/22/2019 2:25:34 PM
如何将其转换为字符串,但保持原始格式?
(Get-Date).ToString()
6/22/2019 2:25:34 PM
vs....
Get-Date
Saturday, June 22, 2019 2:25:04 PM
答案 0 :(得分:2)
通过U
方法使用通用完整格式说明符(ToString()
),您可以将通用时间作为字符串返回。
(Get-Date).ToString('U')
测试日期到字符串的转换和输出类型:
(Get-Date).ToString('U')
Saturday, June 22, 2019 3:11:51 PM
(Get-Date).ToString('U').GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
这种替代方法可能不是最优雅的方法,但可以完成工作。
((Get-Date).ToUniversalTime() | Out-String).Trim()
有关格式说明符如何工作的更多信息,请参见Standard Date and Time Format Strings。
答案 1 :(得分:1)
您可以将DateTimeFormatInfo传递到ToString方法中。
[System.Globalization.DateTimeFormatInfo]::new().FullDateTimePattern
给出:
dddd, dd MMMM yyyy HH:mm:ss
结束:
(Get-Date).ToString([System.Globalization.DateTimeFormatInfo]::new().FullDateTimePattern)
导致:
Saturday, 22 June 2019 11:15:37