Я пытаюсь сделать простой переход на сегодняшний день с помощью 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
Я должен получить 07-02-2014 в 13:56:47
Строка формата должна быть "MM-dd-yyyy" в "hh: mm: ss".
"ММ" - для месяца в году, "мм" - для минут в час (см. Http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html).
Это должно быть ММ:
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy 'at' hh:mm:ss");