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

iBotovod

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

VladZen

Administrator
Staff member
Joined
Nov 5, 2014
Messages
22,269
Reaction score
5,853
Points
113
Таблицу соответствий составить. Всего 12 строк.
 

Solus

Client
Joined
Apr 14, 2014
Messages
378
Reaction score
119
Points
43
Вот код размещает в переменную month месяц даты типа: 07.07.2017 16:22(из news_date) на русском языке ("ru-RU").
Code:
project.Variables["month"].Value = Convert.ToDateTime(project.Variables["news_date"].Value).ToString("MMMM",new System.Globalization.CultureInfo("ru-RU"));
В вашем случае можно как-то так сделать:
Code:
string a = "2";
project.Variables["dayofweek"].Value = Convert.ToDateTime("01."+a+".2017 00:00").ToString("MMMM",new System.Globalization.CultureInfo("ru-RU"));
Полагаю есть более разумное решение, это тоже работает. :-)
 
  • Thank you
Reactions: iBotovod

Adigen

Client
Joined
Jul 28, 2014
Messages
825
Reaction score
651
Points
93
Здравствуйте.
Получаю из project.Profile.BornMonth.ToString() порядковый номер месяца.
Каким образом можно конвертировать эту цифру в наименование месяца? Т.е. если в профиле месяц прописан как"2", как получить "Февраль"? можно ли получить "Фев"? А что сделать, если понадобится "February"?
Нашел конструкцию вида
Code:
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
 
  • Thank you
Reactions: irr and iBotovod

iBotovod

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

Solus

Client
Joined
Apr 14, 2014
Messages
378
Reaction score
119
Points
43
оба варианта - суперские
Второй вариант не особо, костыль если хотите, главное далее вам выложили варианты более верные.
 

socsecret.ru

Client
Joined
Sep 30, 2017
Messages
344
Reaction score
207
Points
43
Есть ли способ перевести "14 мая 2021" в формат, пригодный для дальнейших подсчётов, например: "05/14/2021 00:00:00"? Похоже что только свитч делать, вчленять название месяца и заменять его на цифры. Но хотелось бы вариант в 1 кубике) На C# возможно существует способ.
 
Last edited:

radv

Client
Joined
May 11, 2015
Messages
3,693
Reaction score
1,871
Points
113

dimanis

Client
Joined
Apr 16, 2016
Messages
195
Reaction score
110
Points
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"
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)