Как получить DayNames с языка только в.NET

Предположите, что у меня только есть код страны (en, de, франк), и я должен отобразить рабочие дни на этом языке. Я знаю о RegionInfo и CultureInfo - но я не могу найти решение. Если я создаю информацию о стране из (для примера) "en", у меня нет информации о DateTime в нем. Также было бы нормально просто брать первый регион соответствия. Для примера en-США для en или de-DE для de.

Я не знаю, существуют ли различия в DayNames, но я знаю, что существуют некоторые в течение месяцев. de-DE Februar - de-AT Feber - во всяком случае я не забочусь. Событие, если это может "несколько отличаться" (для наблюдения Februar вместо Feber) - это является все еще немецким.

И это - то, что я хочу к achive - получают en, запись в понедельник - получает de и пишет Montag...

Существует ли способ создать регион только из кода языка?

5
задан ManniAT 23 March 2010 в 14:12
поделиться

6 ответов

Эта статья может быть полезна: Чтобы перейти от «en» к CultureInfo, более быстрый способ

CultureInfo ci = CultureInfo.CreateSpecificCulture("en")

Для второй части, я полагаю, вы просите названия дней, поэтому вы напишете

string[] names = ci.DateTimeFormat.DayNames 
6
ответ дан 13 December 2019 в 05:33
поделиться

Тусклые дни как String () Тусклые месяцы как String () Тусклые дни как новая System.Globalization.CultureInfo ("de-DE") месяцы = куль. DateTimeFormat.MonthNames days = cul.DateTimeFormat.DayNames

0
ответ дан 13 December 2019 в 05:33
поделиться

Попробуйте следующее: -

string culture = "your culture"

CultureInfo myCulture = new CultureInfo (culture);

DateTimeFormatInfo dtfi = myCulture .DateTimeFormat;

dayString = dtfi.GetDayName (ваша дата здесь ..);

Чарли Дж.

0
ответ дан 13 December 2019 в 05:33
поделиться

Поскольку «de» является NeutralCulture, невозможно получить DayNames из DateTimeFormat, если вы попробуете CultureInfo.GetCultureInfo («de»).

Я бы посоветовал вам запустить CultureInfo.CreateSpecificCulture ("de") в этом случае, так как он создаст ненейтральную культуру ... в случае "de" я получил культуру "de-DE" назад от богов .NET: D

    CultureInfo tmp = CultureInfo.CreateSpecificCulture("de");

    string[] names = tmp.DateTimeFormat.DayNames;
    foreach(string name in names)
    {
        Console.WriteLine(name);
    }
0
ответ дан 13 December 2019 в 05:33
поделиться

Обычно, когда вы говорите «мне все равно», вы начинаете бороться с API.

В любом случае, это должно сработать:

var list = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
var ci = list.FirstOrDefault(c => c.IetfLanguageTag.StartsWith("de"));

var ri = new RegionInfo(ci.Name);
Console.WriteLine("Today = {0:dddd MMMM yyyy}", DateTime.Today);
4
ответ дан 13 December 2019 в 05:33
поделиться

Это даст вам список культур:

    Dim ci As CultureInfo
    For Each ci In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
        Console.WriteLine(ci.Name)
    Next

OUTPUT: ar-SA bg-BG ca-ES zh-TW cs-CZ da-DK де-де-де el-GR en-US fi-FI фр-фр he-IL hu-HU is-IS it-IT ja-JP ko-KR nl-NL nb-NO pl-PL pt-BR ро-ро ru-RU hr-HR ск-ск sq-AL sv-SE th-TH Тр-ТР ур-ПК id-ID uk-UA be-BY sl-SI et-EE lv-LV lt-LT фа-ир vi-VN hy-AM az-Latn-AZ eu-ES mk-MK af-ZA ka-GE фо-фо hi-IN ms-MY kk-KZ ky-KG sw-KE uz-Latn-UZ tt-RU pa-IN гу-ИН та-ИН те-ИН kn-IN mr-IN са-ИН мн-мн gl-ES kok-IN сир-сы dv-MV ar-IQ zh-CN де-ЧН en-GB es-MX fr-BE it-CH nl-BE nn-NO pt-PT СР-Латн-КС sv-FI az-Cyrl-AZ ms-BN uz-Cyrl-UZ ar-EG zh-HK de-AT en-AU es-ES fr-CA sr-Cyrl-CS ar-LY zh-SG de-LU en-CA es-GT fr-CH ар-дз zh-MO de-LI en-NZ es-CR fr-LU ar-MA en-IE es-PA fr-MC ar-TN en-ZA es-DO ar-OM en-JM es-VE ar-YE эн-029 es-CO ar-SY en-BZ es-PE ar-JO en-TT es-AR ar-LB en-ZW es-EC ar-KW en-PH es-CL ar-AE es-UY ar-BH es-PY ar-QA es-BO es-SV es-HN es-NI es-PR sma-NO bn-BD bs-Cyrl-BA tg-Cyrl-TJ en-SG en-MY МН-МОНГ-КН prs-AF wo-SN rw-RW qut-GT sah-RU gsw-FR ко-ФР rm-CH mi-NZ ug-CN БР-ФР Мох-КА арн-КЛ ga-IE ii-CN sma-SE Ср-Латн-БА quz-PE ig-NG kl-GL lb-LU ba-RU nso-ZA quz-BO yo-NG sms-FI ха-Латн-НГ hr-BA fil-PH ps-AF fy-NL ne-NP am-ET iu-Cans-CA quz-EC si-LK smj-SE lo-LA km-KH cy-GB bo-CN се-се smj-NO as-IN ml-IN se-FI or-IN sr-Cyrl-BA bn-IN en-IN dsb-DE tk-TM smn-FI oc-FR es-US se-NO mt-MT bs-Latn-BA zu-ZA xh-ZA тн-ЗА цм-Латн-ДЗ иу-Латн-ЦА hsb-DE

1
ответ дан 13 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: