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

  • Автор темы Автор темы iBotovod
  • Дата начала Дата начала

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();
но не понимаю, как ее развернуть в обратном направлении.
Спасибо.
 
Вот код размещает в переменную 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
Здравствуйте.
Получаю из 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
VladZen, да, это был самый первый вариант, но хотелось чет поэлегантнее
Solus, оба варианта - суперские, как много мне еще нужно узнать :)
Adigen, именно это. Да там еще много другого) Спасибо. Утянул в закрома такую конструкцию:
C#:
Развернуть Свернуть Копировать
CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU").DateTimeFormat.GetMonthName(new Random().Next(1,13)); // случайный Месяц

только в общих директивах добавить "using System.Globalization"
 
  • Спасибо
Реакции: irr
Есть ли способ перевести "14 мая 2021" в формат, пригодный для дальнейших подсчётов, например: "05/14/2021 00:00:00"? Похоже что только свитч делать, вчленять название месяца и заменять его на цифры. Но хотелось бы вариант в 1 кубике) На C# возможно существует способ.
 
Последнее редактирование:
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"
 

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