从来没有依赖于毫秒的算术,有太多的规则和陷阱使它成为任何价值(即使在一小段时间内),而是使用专用库,如Java 8的Time API,JodaTime甚至Calendar
Java 8
LocalDateTime now = LocalDateTime.now();
LocalDateTime then = now.plusDays(7);
System.out.println(now);
System.out.println(then);
哪些输出
2015-09-16T15:34:14.771
2015-09-23T15:34:14.771
JodaTime
LocalDateTime now = LocalDateTime.now();
LocalDateTime then = now.plusDays(7);
System.out.println(now);
System.out.println(then);
哪些输出
2015-09-16T15:35:19.954
2015-09-23T15:35:19.954
日历
当您不能使用Java 8或JodaTime
Calendar cal = Calendar.getInstance();
Date now = cal.getTime();
cal.add(Calendar.DATE, 7);
Date then = cal.getTime();
System.out.println(now);
System.out.println(then);
哪些输出
Wed Sep 16 15:36:39 EST 2015
Wed Sep 23 15:36:39 EST 2015
nb:你似乎正在拥有的“问题”,根本不是一个问题,而只是在这段时间里,你的时区似乎已经进入/退出了一天的光节约,所以Date正在显示时间,这是正确的偏移