локаль день имя месяц в powershell - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь отформатировать дату в другой локали.

Лучшее, к чему я пришел, это

$l1 =  'fr-FR' , 'de' , 'en-GB'

foreach ( $letter in $l1 ) {
    $culture = New-Object System.Globalization.CultureInfo($letter)
    $date = get-date -Format $culture.DateTimeFormat.LongDatePattern

    echo ('culture locale = ' + $letter + ' > ' + $date )
    }

, что дает

culture locale = fr-FR > mardi 10 mars 2020
culture locale = de > mardi, 10. mars 2020
culture locale = en-GB > 10 mars 2020

Как можно У меня есть название дня / месяца, написанное на их языке? (например, en-gb должен дать 10 марта 2020 г.)

Ответы [ 2 ]

1 голос
/ 10 марта 2020

Если вам нужна пользовательская дата в другом языке, ToString принимает формат и культуру.

$l1 =  'fr-FR' , 'de' , 'en-GB'

foreach ( $letter in $l1 ) {
    $culture = New-Object System.Globalization.CultureInfo($letter)
    $date = (Get-Date).ToString($culture.DateTimeFormat.LongDatePattern, $culture)
    echo ('culture locale 2= ' + $letter + ' > ' + $date )
    $date = (Get-Date).ToString("dddd d MMMM H \Hr. m \min.", $culture)
    echo ('culture locale 3= ' + $letter + ' > ' + $date )

    }

дает

culture locale 2= fr-FR > mardi 10 mars 2020
culture locale 3= fr-FR > mardi 10 mars 15 Hr. 30 min.
culture locale 2= de > Dienstag, 10. März 2020
culture locale 3= de > Dienstag 10 März 15 Hr. 30 min.
culture locale 2= en-GB > 10 March 2020
culture locale 3= en-GB > Tuesday 10 March 15 Hr. 30 min.
0 голосов
/ 10 марта 2020

Get-Date -Format не принимает фактического поставщика формата, только пустые строки формата.

Используйте DateTime.ToString(), чтобы применить другую культуру в целом:

(Get-Date).ToString($culture.DateTimeFormat.LongDatePattern, $culture)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...