Эпоха на сегодняшний день не работает должным образом

1

Я пытаюсь сделать простой переход на сегодняшний день с помощью SimpleDateFormat. Всякий раз, когда я запускаю программу, я продолжаю получать недопустимые даты после преобразования. Я запустил штампы эпохи в конвертере [и у меня также есть даты, хранящиеся на внешнем сервере], поэтому я знаю, какой должен быть результат, но я все равно получаю плохие преобразования. Я экспериментировал с несколькими математическими изменениями в long epochTime, но безрезультатно. Я знаю (или, по крайней мере, в основном уверен), что моя временная метка эпохи хранится в миллисекундах, что требует изменения * 1000. Вот что я имею:

String convertedTime = null;

//(1) //startTime = startTime/1000;  --none of these three manipulations solve the issue
//(2) //startTime = startTime * 1000;
//(3) //long change = (long) startTime * 1000;

Date d = newDate(startTime); //startTime is *long* parameter passed into method

SimpleDateFormat formatter = new SimpleDateFormat("mm-dd-yyyy 'at' hh:mm:ss");
convertedTime= formatter.format(d);

Например, если штамп эпохи 1404327407738, и я не включаю (1), (2), (3), я получаю 56-02-2014 в 13:56:47

  • В том числе (1) - 05-17-1970 в 12:05:27
  • В том числе (2) - 35-13-46471 в 05:35:38 AM
  • В том числе (3) - 35-13-46471 в 05:35:38 AM (да, я заменил change for startTime здесь)

Я должен получить 07-02-2014 в 13:56:47

Теги:
date
simpledateformat
epoch

2 ответа

3
Лучший ответ

Строка формата должна быть "MM-dd-yyyy" в "hh: mm: ss".

"ММ" - для месяца в году, "мм" - для минут в час (см. Http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html).

1

Это должно быть ММ:

SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy 'at' hh:mm:ss");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню