Почему SimpleDataFormat не работает в Mac OS X 10.6.5? - PullRequest
1 голос
/ 26 января 2012

Я написал приложение Java (Swing) для Windows и попытался запустить его на Mac. Но моя программа остановилась на конструкторе SimpleDataFormat.

Почему это происходит?

У меня тоже есть другой вопрос. Что я могу использовать вместо SimpleDataFormat?

        SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm | dd.MM.YYYY");
        Date dateLastUpdate = dateFormat.parse(lastUpdate.getValue());
        AccountInfo accInfo = new AccountInfo(accNumber, apiName, securityWord);

Первая строка не выполняется. Дата точно в нужном формате.

Ответы [ 2 ]

1 голос
/ 26 января 2012

Я не думаю, что ваша строка формата работает на любом компьютере.Обратите внимание, что год обозначается строчной буквой «у», а у вас заглавная.Попробуйте следующий код:

   @Test
   public void testRandomDate() throws Exception {
      final String lastUpdateValue = "13:23 | 26.01.2012";
      final SimpleDateFormat dateFormat = new SimpleDateFormat(
            "HH:mm | dd.MM.yyyy");
      final Date dateLastUpdate = dateFormat.parse(lastUpdateValue);

      System.out.println(dateLastUpdate);
   }

Также, обратитесь к SimpleDateFormat документации для списка допустимых выражений разбора:

1 голос
/ 26 января 2012

Ваш формат для разбора должен быть тогда

"HH:mm '|' dd.MM.yyyy"

, так как '|'должен быть проглочен парсером без интерпретации.

Что касается замен, если они вам нужны, проверьте DateTimeFormatterBuilder из Joda Time .

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