У меня есть приложение, которое использует SimpleDateFormat
для анализа дат. У меня внезапно появилось желание изменить формат отображения времени моего компьютера в китайском формате, а затем оставил его на этом, чтобы сделать что-то еще.Ошибка SimpleDateFormat при изменении времени отображения
Когда я вернулся, чтобы запустить мое приложение несколько минут спустя, по какой-то причине я получал ошибки «Несовершенная дата». Это никогда не случалось раньше; Я никогда не вводил никакого нового кода, поэтому мне было интересно, что пошло не так.
Затем я отслеживал свои действия и помнил, что я изменил формат отображения времени, поэтому я изменил его, и приложение работает как обычно.
Теперь, глядя в документы, я вижу, что библиотека чувствительна к локали. К счастью, это приложение предназначено только для личного использования, когда я полностью контролирую настройки своего компьютера. Однако, если бы я должен был развернуть приложение для общественного потребления, я не контролирую их среду, и поэтому, если бы у меня когда-либо был клиент, который не использовал формат времени США, они были бы недовольны.
- Это проблема во всех библиотеках разбора времени и времени?
- Существуют ли «нечувствительные к языку» библиотеки, которые будут прозрачно обрабатывать локальное обнаружение? Если да, то что я должен использовать?
- Должен ли я избегать
SimpleDateFormat
полностью из-за этого поведения?
Возможно, я думаю о проблеме неправильным образом. Библиотека правильно обрабатывает тот факт, что люди имеют разные даты, но если я ожидаю определенного формата, мне нужно указать локаль. В этом есть смысл. – MxyL
@MxyL, это именно то, что я имею в виду. Прошу прощения, если мои объяснения недостаточно ясны. – AlexR