Форматирование времени C #. Локализация на французский, как мне получить вывод «5h 45» для 5:45?

Я пытаюсь отформатировать даты для клиента из Франции.

Мне нужно отформатировать время, как показано в следующих примерах ...

06:00 -> 6 ч.
08:45 -> 8 ч. 45
10:30 -> 10 ч. 30
15:00 -> 15 ч
17:22 -> 17 ч. 22
18:00 -> 18 ч

Я смог использовать Пользовательское форматирование даты и времени . Но я, кажется, застрял на этой нотации, что французы (по крайней мере, канадцы) не показывают минуты, если они равны нулю «00».

В настоящее время я использую следующий формат.

myDateTime.ToString("H \h mm")

Как я могу сделать так что «мм» появляется только тогда, когда> 00?

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

Моя строка «Ч \ ч мм» на самом деле взята из файла ресурсов. т.е. ...

myDateTime.ToString(Resources.Strings.CustomTimeFormat);

6
задан Marcel Gosselin 13 November 2012 в 01:45
поделиться