Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] День недели по-русски

Ответить
Настройки темы
PowerShell - [решено] День недели по-русски

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576


Конфигурация

Профиль | Отправить PM | Цитировать


Привет!
Подскажите, пожалуйста - как мне заставить павершелл возвращать день недели на русском?
Сейчас вот так:
Код: Выделить весь код
PS C:\temp> (get-date).DayOfWeek
Sunday
Это при том, что Windows русский, все региональные параметры настроены на русский, часовой пояс, местоположение, настройка для программ, не понимающих юникода - всё русское.

В чём дело?

Windows 10 1909 x64 pro.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 13:16, 02-02-2020

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата Charg:
Очень долго сидел над этой проблемой и таки нашел красивый, читабельный и скорее всего наиболее правильный способ.
Наиболее правильный способ был показан YuS_2. Почему? Командлет Get-Date спроектирован относительно пространства имен System.Globalization, так что ваш код избыточен вдвойне, если учесть наличие командлета Get-Culture:
Код: Выделить весь код
(Get-Culture ru-RU).DateTimeFormat.GetDayName((Get-Date).DayOfWeek) # вторник
(Get-Culture ja-JP).DateTimeFormat.GetDayName((Get-Date).DayOfWeek) # 火曜日
(Get-Culture uk-UA).DateTimeFormat.GetDayName((Get-Date).DayOfWeek) # вiвторок

Последний раз редактировалось greg zakharov, 04-02-2020 в 17:48.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:43, 04-02-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


greg zakharov, я честно говоря не улавливаю причинно-следственных связей.
Про командлет Get-Culture не знал, а в остальном приведенный код идентичен моему, за исключением количества вызовов Get-Date.

Отправлено: 19:19, 04-02-2020 | #12


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата Charg:
Про командлет Get-Culture не знал, а в остальном приведенный код идентичен моему, за исключением количества вызовов Get-Date. »
Не совсем идентичный, хоть и построен одинаково. У Вас текущая дата сохраняется в переменной и становится константой. В большинстве случаев это не проблема (ибо получаем всего навсего, день недели), но в пограничных случаях перехода даты, может получится не запланированное смещение... (повторюсь, чаще всего, это мелкая и не критичная проблема, в том числе и по потреблению памяти).
Кстати, Ваш способ хорош ещё и тем, что можем получать название не только на языке системы, но и на том, который запросили. А правильно/неправильно - категории относительные, имхо.

-------
scio me nihil scire. Ѫ


Отправлено: 19:56, 04-02-2020 | #13


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
Не совсем идентичный, хоть и построен одинаково. У Вас текущая дата сохраняется в переменной и становится константой. В большинстве случаев это не проблема (ибо получаем всего навсего, день недели), но в пограничных случаях перехода даты, может получится не запланированное смещение... (повторюсь, чаще всего, это мелкая и не критичная проблема, в том числе и по потреблению памяти). »
А, ну это вопрос скорее архитектурный. Где-то нужно брать отправную точку и считать\преобразовывая относительно, а где-то нужно иметь данные "на сейчас". Тут правильно\неправильно не бывает, задачи то разные.
Ну и да, я изначально думал что задача именно "получить день недели на любом языке".
А на то что DayOfWeek не локализован я вообще не знал, у меня ОС английская и для меня было логично что и дни недели на английском :D

Отправлено: 20:11, 04-02-2020 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] День недели по-русски

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Можно ли изменить отображение времени (часов), добавив дату и день недели? truvo Оформление Windows XP 17 13-03-2009 10:10
C/C++ - MSDN по русски aska2013 Программирование и базы данных 10 04-08-2008 01:26
Как определить какой день недели ? dave101ua Вебмастеру 3 24-12-2003 12:33
Win2000AS по-русски Baboon Microsoft Windows NT/2000/2003 6 23-10-2002 07:14
День недели Hard Программирование и базы данных 5 23-09-2002 07:27




 
Переход