(Get-Date).ToUniversalTime()转换为字符串但不更改格式

时间:2019-06-22 14:36:33

标签: powershell

例如,当您使用(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

2 个答案:

答案 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