Zlokalizowanie formatu daty deskryptory

głosy
15

Jaki jest najlepszy sposób, aby zlokalizować deskryptor formatu daty?

Jak każdy z hodowli, które nie korzystają z formatu dd / mm / rrrr wie, to jest irytujące wprowadzić datę w tym formacie. .NET Framework zapewnia pewną bardzo dobrą obsługę lokalizacji, więc jest to trywialne do analizowania dat zgodnie z kulturą użytkowników, ale często chcą również wyświetlać pomocne wskazówki co do formatu wymaganego (zwłaszcza odróżnić yy i yyyy który jest wymienny w większość kultur).

Jaki jest najlepszy sposób, aby to zrobić w taki sposób, że sens większości użytkowników (np dd / M / yyy jest kłopotliwe ze względu na zmiany w sprawie oraz przełączania pomiędzy jednym i dwóch liter).

Utwórz 03/08/2008 o 18:30
źródło użytkownik
W innych językach...                            


7 odpowiedzi

głosy
6

Wystarczy użyć ISO-8601 . Jest to międzynarodowy standard.

Date and time (current at page generation) expressed according to ISO 8601:
Date:                           2014-07-05
Combined date and time in UTC:  2014-07-05T04:00:25+00:00
                                2014-07-05T04:00:25Z
Week:                           2014-W27
Date with week number:          2014-W27-6
Ordinal date:                   2014-186
Odpowiedział 03/08/2008 o 19:18
źródło użytkownik

głosy
4

Muszę zgodzić się z PO „złego” dat naprawdę słoik z moim DD / mm / rrrr wychowania i znajdę ISO 8601 daty i godziny niezwykle łatwy w użyciu. Po raz pierwszy średnia miał rację i engtech ma oczywistą odpowiedź, która nie wymaga lokalizacji.

Miałem zamiar zgłosić formularza wejściowego urodzinowy na przepełnienie stosu jako błąd, ponieważ, jak dużo ból kciuka jest dla większości świata.

Odpowiedział 04/08/2008 o 19:50
źródło użytkownik

głosy
2

Oto moja obecna metoda. Jakieś sugestie?

Regex singleMToDoubleRegex = new Regex("(?<!m)m(?!m)");
Regex singleDToDoubleRegex = new Regex("(?<!d)d(?!d)");
CultureInfo currentCulture = CultureInfo.CurrentUICulture;

// If the culture is netural there is no date pattern to use, so use the default.
if (currentCulture.IsNeutralCulture)
{
    currentCulture = CultureInfo.InvariantCulture;
}

// Massage the format into a more general user friendly form.
string shortDatePattern = CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern.ToLower();
shortDatePattern = singleMToDoubleRegex.Replace(shortDatePattern, "mm");
shortDatePattern = singleDToDoubleRegex.Replace(shortDatePattern, "dd");
Odpowiedział 03/08/2008 o 18:31
źródło użytkownik

głosy
1

Krótka forma jest wygodny i pomaga uniknąć błędów ortograficznych. Lokalizować w stosownych przypadkach, ale pamiętaj, aby wyświetlić oczekiwany format (nie opuszczają roletę użytkownika). Zapewnić kontrolę data-kompletacji jako opcjonalny doradca wypełniania pola.

Jako dodatkowy, analizowania on-the-fly i wyświetlania daty w długiej formie może pomóc też.

Odpowiedział 04/08/2008 o 20:13
źródło użytkownik

głosy
1

Kłopot z międzynarodowymi standardami jest to, że prawie nikt nie korzysta z nich. Staram gdzie mogę, ale jestem zmuszony do korzystania dd / mm / rrrr prawie wszędzie w prawdziwym życiu, co oznacza, jestem tak przyzwyczajony do niego to zawsze świadomy proces używać ISO-8601. Dla większości ludzi, którzy nawet nie próbują korzystać z ISO-8601 jest jeszcze gorzej. Jeśli można umiędzynarodowienie gdzie można, myślę, że to wielka zaleta.

Odpowiedział 04/08/2008 o 09:14
źródło użytkownik

głosy
1

Jak o podanie formatu (dd / mm / rrrr lub dd / mm / rrrr), a następnie wydruk z dnia dzisiejszego w kulturze użytkownika. MSDN ma artykuł na temat formatowania DateTime dla kultury danej osoby , przy użyciu obiektu CultureInfo, które mogą być pomocne w ten sposób. Kombinacja formatu (który większość ludzi zna) w połączeniu z aktualną datą reprezentowanego w tym formacie powinny być wystarczająco trop do osoby, o tym, jak powinny one wprowadzić datę. (Obejmuje również kontrolę kalendarza dla tych, którzy nadal nie mogę zrozumieć to).

Odpowiedział 03/08/2008 o 18:37
źródło użytkownik

głosy
0

Najlepsza opcja : Chciałbym zamiast zaleca się stosowanie standardowego wyboru daty.

Alternatywa : za każdym razem treść zmian edytuj kontrolnych, analizować je i wyświetlacz (w oddzielnej kontroli?) Długi format daty (tj wejściowego „04/03/09” display „Twój wkład: March 4, 2009” )

Odpowiedział 19/09/2008 o 18:02
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more