Почему я получаю неправильный формат времени от CultureInfo? - PullRequest
1 голос
/ 10 октября 2011

Мне нужно отображать текущее время в моем приложении во время определенных операций, если текущий формат системного времени равен HH:mm:ss, то если пользователь изменит его на hh:mm:ss tt, когда приложение все еще работает, оно не воспринимает изменения!Время по-прежнему отображается в HH:mm:ss.

Я пытался использовать DateTime.Now.ToLongTimeString() и DateTime.Now.ToString(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);

Чего-то не хватает?Любые предложения, чтобы решить проблему?

1 Ответ

4 голосов
/ 10 октября 2011

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

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

...