Получить полное название месяца на английском языке - PullRequest
25 голосов
/ 03 января 2012

Я использую DateTime.Now.ToString("MMMM"), чтобы получить полное имя текущего месяца.Это хорошо работает, но я получаю его на иврите .
Есть ли возможность управления языком вывода?
Мне нужно, чтобы он был Английский .

Ответы [ 6 ]

51 голосов
/ 03 января 2012

Вы можете передать CultureInfo объект в качестве аргумента DateTime.ToString():

CultureInfo ci = new CultureInfo("en-US");
var month = DateTime.Now.ToString("MMMM", ci);

// alternatively you can use CultureInfo.InvariantCulture:
var month = DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture);
21 голосов
/ 03 января 2012

Укажите культуру, в которой вы хотите отформатировать имя. Как это:

DateTime.Now.ToString("MMMM", new CultureInfo("en-GB"));
13 голосов
/ 03 января 2012

Альтернативный вариант тем, которые были предоставлены другими авторами:

int month = DateTime.Now.Month;

// Or use CultureInfo.InvariantCulture if you want
CultureInfo usEnglish = new CultureInfo("en-US");
DateTimeFormatInfo englishInfo = usEnglish.DateTimeFormat;
string monthName = englishInfo.MonthNames[month - 1];

Я не говорю, что это лучше или хуже, чем все остальное - просто альтернатива.

6 голосов
/ 03 января 2012

Используйте перегрузку, которая принимает IFormatProvider:

  CultureInfo culture = new CultureInfo("en-GB");
  DateTime.Now.ToString("MMMM", culture));

Источник

4 голосов
/ 06 сентября 2017

вы можете использовать CultureInfo.CreateSpecificCulture(CultureName), чтобы получить название месяца на разных языках.

См. это

Создает CultureInfo , представляющий конкретную культуру, связанную с указанным именем.

string MonthName =  DateTime.Now.ToString("MMMM", CultureInfo.CreateSpecificCulture(CultureName));

Список предопределенных имен культур см. В справочнике по API Поддержка национальных языков (NLS) в Go Global Developer Center

//    CULTURE                                              SPECIFIC CULTURE
//                 Invariant Language (Invariant Country)  
//    af           Afrikaans                               af-ZA
//    am           Amharic                                 am-ET
//    ar           Arabic                                  ar-SA
//    arn          Mapudungun                              arn-CL
//    as           Assamese                                as-IN
//    az           Azerbaijani                             az-Latn-AZ
//    az-Cyrl      Azerbaijani (Cyrillic)                  az-Cyrl-AZ
//    az-Latn      Azerbaijani (Latin)                     az-Latn-AZ
//    ba           Bashkir                                 ba-RU
//    be           Belarusian                              be-BY
//    bg           Bulgarian                               bg-BG
//    bn           Bengali                                 bn-IN
//    bo           Tibetan                                 bo-CN
//    br           Breton                                  br-FR
//    bs           Bosnian                                 bs-Latn-BA
//    bs-Cyrl      Bosnian (Cyrillic)                      bs-Cyrl-BA
//    bs-Latn      Bosnian (Latin)                         bs-Latn-BA
//    ca           Catalan                                 ca-ES
//    co           Corsican                                co-FR
//    cs           Czech                                   cs-CZ
//    cy           Welsh                                   cy-GB
//    da           Danish                                  da-DK
//    de           German                                  de-DE
//    dsb          Lower Sorbian                           dsb-DE
//    dv           Divehi                                  dv-MV
//    ...
//    ta           Tamil                                   ta-IN
//    te           Telugu                                  te-IN
//    tg           Tajik                                   tg-Cyrl-TJ
//    tg-Cyrl      Tajik (Cyrillic)                        tg-Cyrl-TJ
//    th           Thai                                    th-TH
//    tk           Turkmen                                 tk-TM
//    tn           Setswana                                tn-ZA
//    tr           Turkish                                 tr-TR
//    tt           Tatar                                   tt-RU
//    tzm          Tamazight                               tzm-Latn-DZ
//    tzm-Latn     Tamazight (Latin)                       tzm-Latn-DZ
//    ug           Uyghur                                  ug-CN
//    uk           Ukrainian                               uk-UA
//    ur           Urdu                                    ur-PK
//    uz           Uzbek                                   uz-Latn-UZ
//    uz-Cyrl      Uzbek (Cyrillic)                        uz-Cyrl-UZ
//    uz-Latn      Uzbek (Latin)                           uz-Latn-UZ
//    vi           Vietnamese                              vi-VN
//    wo           Wolof                                   wo-SN
//    xh           isiXhosa                                xh-ZA
//    yo           Yoruba                                  yo-NG
//    zh           Chinese                                 zh-CN
//    zh-CHS       Chinese (Simplified) Legacy             zh-CN
//    zh-CHT       Chinese (Traditional) Legacy            zh-HK
//    zh-Hans      Chinese (Simplified)                    zh-CN
//    zh-Hant      Chinese (Traditional)                   zh-HK
//    zu           isiZulu                                 zu-ZA
4 голосов
/ 03 января 2012

Вы можете установить культуру потока:

  DateTime dt = DateTime.Now;
  // Sets the CurrentCulture property to U.S. English.
  Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
  // Displays dt, formatted using the ShortDatePattern
  // and the CurrentThread.CurrentCulture.
  Console.WriteLine(dt.ToString("MMMM"));

Или передать CultureInfo в функцию DateTime.ToString().

  // Creates a CultureInfo for U.S. English.
  CultureInfo ci = new CultureInfo("en-US");
  // Displays dt, formatted using the ShortDatePattern
  // and the CultureInfo.
  Console.WriteLine(dt.ToString("MMMM", ci));

Обратите внимание, что вы можететакже выберите CultureInfo.InvariantCulture.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...