PowerShell - [решено] Строку в datetime

Аватара пользователя
DJ Mogarych

PowerShell - [решено] Строку в datetime

Сообщение DJ Mogarych »

Привет!



Помогите, пожалуйста, перевести строку



Код:

Код: Выделить всё

Dec 23 19:03:15 2022 GMT

в datetime с конвертацией GMT в MSK.



Что-то не пойму, как это сделать, а сам PS эту конструкцию не распознаёт.



Пробовал что-то вроде (даже без GMT)



Код:

Код: Выделить всё

$expdate = "Dec 23 19:03:15 2022"
[datetime]::ParseExact("$expdate", "MMM dd HH:mm:ss yyyy", $null)
Исключение при вызове "ParseExact" с "3" аргументами: "Строка не распознана как действительное значение DateTime."
строка:1 знак:1
+ [datetime]::ParseExact("$expdate", "MMM dd HH:mm:ss yyyy", $null)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : FormatException

Проблема ещё, наверное, и в русской винде, потому что



Код:

Код: Выделить всё

get-date -f "MMM dd HH:mm:ss yyyy"
окт 20 17:56:20 2022
Аватара пользователя
YuS_2

Re: PowerShell - [решено] Строку в datetime

Сообщение YuS_2 »

Цитата DJ Mogarych:



сам PS эту конструкцию не распознаёт.
PowerShell - [решено] Строку в datetime




Дык, потому как нестандарт... RFC1123 предполагает: ddd, dd MMM yyyy HH:mm:ss GMT



Код:

Код: Выделить всё

get-date -f R

Но таки нестандарт тоже можно обработать:



Код:

Код: Выделить всё

$a = 'Dec 23 19:03:15 2022 GMT'
[datetime]::parseexact($a, 'MMM dd HH:mm:ss yyyy GMT', [system.globalization.cultureinfo]::invariantculture)
# или так:
[datetime]::parseexact($a, 'MMM dd HH:mm:ss yyyy GMT', (new-object cultureinfo("en-US")))
Аватара пользователя
Foreigner

Re: PowerShell - [решено] Строку в datetime

Сообщение Foreigner »

Я не нашел такого формата



Код:

Код: Выделить всё

Get-Date $('{0} {3}, {1} {2} {4}' -f 'Dec 23 19:03:15 2022 GMT'.Split())
Аватара пользователя
Foreigner

Re: PowerShell - [решено] Строку в datetime

Сообщение Foreigner »

Я не нашел такого формата



Код:

Код: Выделить всё

Get-Date $('{0} {3}, {1} {2} {4}' -f 'Dec 23 19:03:15 2022 GMT'.Split())
Аватара пользователя
DJ Mogarych

Re: PowerShell - [решено] Строку в datetime

Сообщение DJ Mogarych »

Цитата DJ Mogarych:



пытаюсь собирать информацию о датах окончания действия SSL-сертификатов.
PowerShell - [решено] Строку в datetime




Работу с сертификатами особо не разбирал, но pwershell, вроде бы умеет с ними обходиться... насколько правильно, затрудняюсь сказать, ибо надобности такой не было..

Вот, пару ссылок, для информации, возможно, что-либо пригодится:

https://habr.com/ru/company/t1_cloud/blog/661107/


https://winitpro.ru/index.php.htm/2020/0...sl-sertifikat/
Аватара пользователя
YuS_2

Re: PowerShell - [решено] Строку в datetime

Сообщение YuS_2 »

Рецепт с Winitpro не работает, т. к. он использует устаревший класс HttpWebRequest - у меня как раз на нём был основан прошлый скрипт, и это сегодня работает через раз.



С Хабра способ работает, там используется класс TcpClient.
Аватара пользователя
DJ Mogarych

Re: PowerShell - [решено] Строку в datetime

Сообщение DJ Mogarych »

Цитата DJ Mogarych:



Рецепт с Winitpro не работает, т. к. он использует устаревший класс HttpWebRequest
PowerShell - [решено] Строку в datetime




Да, наверное... его только в powershell v5.1, если только использовать...
Аватара пользователя
YuS_2

Re: PowerShell - [решено] Строку в datetime

Сообщение YuS_2 »

Цитата YuS_2:



его только в powershell v5.1, если только использовать
PowerShell - [решено] Строку в datetime




Зачем, если


Цитата DJ Mogarych:



не работает устаревший класс
PowerShell - [решено] Строку в datetime




?Изображение
Аватара пользователя
Fors1k

Re: PowerShell - [решено] Строку в datetime

Сообщение Fors1k »

Цитата Fors1k:



Зачем, если
PowerShell - [решено] Строку в datetime




в 5.1 работает... а 5.1 - это то, что предустановлено, сейчас.


Цитата:



Проверка
https://winitpro.ru


Сертификат для сайта
https://winitpro.ru
истечет через 23 дней [11/14/2022 05:59:19]. Подробности:



Cert name: CN=winitpro.ruCert thumbprint: 7A288043CE89BF1E5EBA4C4E01CECB2833E06BD5

Cert effective date: 16.08.2022 5:59:20

Cert issuer: C=US, O=Let's Encrypt, CN=R3

________________



PS_5.1>
Аватара пользователя
YuS_2

Re: PowerShell - [решено] Строку в datetime

Сообщение YuS_2 »

YuS_2, проверьте kubernetes.io



Устаревший класс не для PS, я для .NET.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»