Как порядковый номер месяца преобразовать в название месяца?

iBotovod

Client
Регистрация
01.07.2017
Сообщения
56
Благодарностей
19
Баллы
8
Здравствуйте.
Получаю из project.Profile.BornMonth.ToString() порядковый номер месяца.
Каким образом можно конвертировать эту цифру в наименование месяца? Т.е. если в профиле месяц прописан как"2", как получить "Февраль"? можно ли получить "Фев"? А что сделать, если понадобится "February"?
Нашел конструкцию вида
Код:
string strMonthName = DateTime.ParseExact("Июнь", "MMMM", System.Globalization.CultureInfo.CurrentCulture).Month.ToString();
но не понимаю, как ее развернуть в обратном направлении.
Спасибо.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 911
Баллы
113
Таблицу соответствий составить. Всего 12 строк.
 

Solus

Client
Регистрация
14.04.2014
Сообщения
378
Благодарностей
120
Баллы
43
Вот код размещает в переменную month месяц даты типа: 07.07.2017 16:22(из news_date) на русском языке ("ru-RU").
Код:
project.Variables["month"].Value = Convert.ToDateTime(project.Variables["news_date"].Value).ToString("MMMM",new System.Globalization.CultureInfo("ru-RU"));
В вашем случае можно как-то так сделать:
Код:
string a = "2";
project.Variables["dayofweek"].Value = Convert.ToDateTime("01."+a+".2017 00:00").ToString("MMMM",new System.Globalization.CultureInfo("ru-RU"));
Полагаю есть более разумное решение, это тоже работает. :-)
 
  • Спасибо
Реакции: iBotovod

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Здравствуйте.
Получаю из project.Profile.BornMonth.ToString() порядковый номер месяца.
Каким образом можно конвертировать эту цифру в наименование месяца? Т.е. если в профиле месяц прописан как"2", как получить "Февраль"? можно ли получить "Фев"? А что сделать, если понадобится "February"?
Нашел конструкцию вида
Код:
string strMonthName = DateTime.ParseExact("Июнь", "MMMM", System.Globalization.CultureInfo.CurrentCulture).Month.ToString();
но не понимаю, как ее развернуть в обратном направлении.
Спасибо.
C#:
CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU").DateTimeFormat.GetAbbreviatedMonthName(8); //авг
CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU").DateTimeFormat.GetMonthName(8); //Aвгуст
CultureInfo.InvariantCulture.DateTimeFormat.GetAbbreviatedMonthName(8); //Aug
CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(8); //August
 
  • Спасибо
Реакции: genri, irr и iBotovod

iBotovod

Client
Регистрация
01.07.2017
Сообщения
56
Благодарностей
19
Баллы
8
VladZen, да, это был самый первый вариант, но хотелось чет поэлегантнее
Solus, оба варианта - суперские, как много мне еще нужно узнать :-)
Adigen, именно это. Да там еще много другого) Спасибо. Утянул в закрома такую конструкцию:
C#:
CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU").DateTimeFormat.GetMonthName(new Random().Next(1,13)); // случайный Месяц
только в общих директивах добавить "using System.Globalization"
 
  • Спасибо
Реакции: irr

Solus

Client
Регистрация
14.04.2014
Сообщения
378
Благодарностей
120
Баллы
43

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
Есть ли способ перевести "14 мая 2021" в формат, пригодный для дальнейших подсчётов, например: "05/14/2021 00:00:00"? Похоже что только свитч делать, вчленять название месяца и заменять его на цифры. Но хотелось бы вариант в 1 кубике) На C# возможно существует способ.
 
Последнее редактирование:

radv

Client
Регистрация
11.05.2015
Сообщения
3 785
Благодарностей
1 950
Баллы
113

dimanis

Client
Регистрация
16.04.2016
Сообщения
195
Благодарностей
110
Баллы
43
C#:
CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU").DateTimeFormat.GetAbbreviatedMonthName(8); //авг
CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU").DateTimeFormat.GetMonthName(8); //Aвгуст
CultureInfo.InvariantCulture.DateTimeFormat.GetAbbreviatedMonthName(8); //Aug
CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(8); //August
А в обратную сторону можно пример? из "авг" получить "8"
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)