我想查看用户登录后的天数:
Calendar lastLogin = Calendar.getInstance();
lastLogin.setTime(randomPlayer.getLastLogin());
Calendar today = Calendar.getInstance();
我如何减去它以获得两者之间的天数差异? I.e自上次登录后的天数。
答案 0 :(得分:1)
我建议改为使用LocalDate
:
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class DaysBetween {
public static void main(String[] args) {
LocalDate lastLogin = LocalDate.of(2017, 4, 1);
LocalDate today = LocalDate.now();
System.out.println(daysBetween(lastLogin, today));
}
private static long daysBetween(LocalDate from, LocalDate to) {
return ChronoUnit.DAYS.between(from, to);
}
}
或者,如果真的想要坚持Calendar
:
import java.time.temporal.ChronoUnit;
import java.util.Calendar;
public class DaysBetween {
public static void main(String[] args) {
Calendar lastLogin = Calendar.getInstance();
lastLogin.set(Calendar.YEAR, 2017);
lastLogin.set(Calendar.MONTH, 3);
lastLogin.set(Calendar.DAY_OF_MONTH, 1);
Calendar today = Calendar.getInstance();
System.out.println(daysBetween(lastLogin, today));
}
private static long daysBetween(Calendar from, Calendar to) {
return ChronoUnit.DAYS.between(from.toInstant(), to.toInstant());
}
}