Я пытаюсь сделать простое вычитание дат и получение нечетных результатов. По какой-то причине, когда я отформатирую его с помощью SimpleDateFormat, разница в 7 дополнительных часов.SimpleDateFormat добавляет 7 часов?
package timedemo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Timedemo {
public static void main(String[] args) {
Date start = new Date(); // time right now
Date stop = new Date();
long startTime = start.getTime()-1000; // introduce a second of skew
long stopTime = stop.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
// First one shows up prior to 1970 epoch. Okay, except for 5 hour variance.
// Probably a timezone thing, as I'm in EST (-5).
System.out.println("New date is "+new Date(stopTime - startTime));
System.out.println("Raw Start is "+startTime); // fine
System.out.println("Raw Stop is "+stopTime); // fine
System.out.println("Raw Difference is "+(stopTime-startTime));
System.out.println("Formatted Start is "+sdf.format(startTime));
System.out.println("Formatted Stop is "+sdf.format(stopTime));
System.out.println("Formatted Difference is "+sdf.format(stopTime-startTime));
}
}
И результаты:
New date is Wed Dec 31 19:00:01 EST 1969
Raw Start is 1418397344360
Raw Stop is 1418397345360
Raw Difference is 1000
Formatted Start is 10:15:44
Formatted Stop is 10:15:45
Formatted Difference is 07:00:01
- Я думал, что это была временная зона вещь, но я в EST (-5), не MST (-7).
- Я бы предположил, что летние сбережения, но это 7 часов, а не 1.
- 12/24 час разница? 12-7 = 5, который является моим временным смещением ... не уверен, что с этим делать.
- Вид идеи на этом этапе.
Почему семичасовая смена на последней строке?
Возможный дубликат [Вычисление разницы между двумя экземплярами даты Java] (http://stackoverflow.com/questions/1555262/calculating-the-difference-between-two-java-date-instances) –
@BasilBourque Их вопрос было «как я делаю XYZ?» Мой был «почему этот вывод выглядит странно?» Ответ один и тот же, но сам вопрос другой. Я предполагаю, что люди, которые совершают ту же глупую ошибку, что и я, будут легче найти ответ, если он сохранится. Но в любом случае, не беспокойтесь. :-) – kmort