2012-01-03 46 views
23

我使用DateTime.Now.ToString("MMMM")以获取当前月份的全名。它运作良好,但我得到它在希伯来文
是否有控制输出语言的选项?我需要它英文获取英文完整的月份名称

回答

46

您可以传递一个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); 
20

传入您希望格式化名称的文化。就像这样:

​​
6

使用重载需要IFormatProvider

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

Source

13

替代选项由其他人给出海报:

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]; 

我不是说它比其他任何东西都更好或更差 - 只是一种选择。

4

您可以设置线程的文化:

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")); 

或者你可以传递一个CultureInfoDateTime.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

0

您可以使用CultureInfo.CreateSpecificCulture(CultureName)获取不同语言的月份名称。

参见this

创建CultureInfo,表示与该指定的名称相关联的特定文化。

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

对于预定义区域性名称的列表,请参阅National Language Support (NLS) API Reference在走出去开发中心

// 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 
相关问题