(Get-Date) .ToUniversalTime () преобразовать в строку, но не изменить формат - PullRequest
1 голос
/ 22 июня 2019

Когда вы используете командлет (Get-Date), вы получаете, например, хороший формат, как показано в коде ниже. Но если вы используете ToString (), вы получите его в формате, например, 22.06.2009 14:25:34

Как мне преобразовать его в строку, но сохранить исходное форматирование?

(Get-Date).ToString()
6/22/2019 2:25:34 PM

vs....


Get-Date
Saturday, June 22, 2019 2:25:04 PM

Ответы [ 2 ]

2 голосов
/ 22 июня 2019

Используя спецификатор универсального полного формата (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()

См. Стандартные строки формата даты и времени для получения дополнительной информации о том, как работают спецификаторы формата.

1 голос
/ 22 июня 2019

Вы можете передать DateTimeFormatInfo в метод ToString.

[System.Globalization.DateTimeFormatInfo]::new().FullDateTimePattern

, который дает:

dddd, dd MMMM yyyy HH:mm:ss

end:

(Get-Date).ToString([System.Globalization.DateTimeFormatInfo]::new().FullDateTimePattern)

приводит к:

Saturday, 22 June 2019 11:15:37
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...