Локализация даты и времени с использованием пользовательских шаблонов - PullRequest
1 голос
/ 24 ноября 2008

Я работаю над локализацией для приложения, в котором для форматирования даты и времени используются пользовательские шаблоны.

один пример: дд-мм чч: мм

Мне нужно получить локализованные версии этого пользовательского формата для дат, чтобы я получал дату, используя числа, и время, в основном используя локальный порядок (дд ММ или дд ММ) и локальный разделитель для даты и времени. .

Это довольно тривиально, если я использую форматирование по умолчанию, но как только я отклоняюсь от этого, форматирование становится жестко закодированным.

Есть идеи?

Спасибо, Джонас

редактирование: У меня есть объекты cultureInfo, проблема в том, что когда я выполняю DateTime.ToString («ES-es»), я получаю слишком много информации - мне нужен только месяц + день, но при использовании по умолчанию ToString я получаю год + месяц + день

Изменить еще раз: Я вижу, как я могу изменить шаблон ShortDate для каждого объекта CultureInfo, который я использую. Однако в некоторых ситуациях мне также нужен шаблон ShortDate по умолчанию, поэтому его изменение может привести к другой, эквивалентной проблеме.

Окончательное редактирование: на случай, если кому-то все равно. Я никогда не находил решения, поэтому я закончил кодировать статическую функцию, которая проверяет текущий CultureInfo и возвращает правильно отформатированную дату без года.

Ответы [ 3 ]

4 голосов
/ 24 ноября 2008

Посмотрите на класс DateTimeFormatInfo (свойство CultureInfo.DateTimeFormat), в частности свойства DateSeparator, TimeSeparator, ShortDatePattern.

2 голосов
/ 24 ноября 2008

Возможно, вы могли бы попробовать это:

DateTime.Now.ToString(new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name));

Если я хочу, например, отобразить время для определенной культуры, я бы сделал это:

DateTime.Now.ToString(new System.Globalization.CultureInfo("ES-es"))

Cultureinfo действует как IFormatProvider.

0 голосов
/ 24 ноября 2008

Класс CultureInfo был бы хорошим местом для начала поиска.

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