年月日のみで比較をするなら、
java
1public long distance() {
2 Calendar now = Calendar.getInstance();
3 now.setTime(new Date());
4
5 Calendar ref = Calendar.getInstance();
6 ref.set(2018, 10, 7);
7
8 return now.getTimeInMillis() - ref.getTimeInMillis();
9}
が最も簡単です。月の値は 0から11 で指定します。
DateクラスもCalendarクラスも、long値で取得できる値は同じです。
Java8から利用できる Date and Time APIが使えるなら、日付の指定は直感的にできますが、
java
1public long localDateDistance() {
2 LocalDate now = LocalDate.now();
3 LocalDate referenceTime = LocalDate.of(2018, 11, 7);
4 return getTimeInMillis(now) - getTimeInMillis(referenceTime);
5}
6
7private long getTimeInMillis(LocalDate ld) {
8 LocalDateTime ldt = LocalDateTime.of(ld, LocalTime.of(0, 0));
9
10 ZoneId zone = ZoneId.systemDefault();
11 ZonedDateTime zonedDateTime = ZonedDateTime.of(ldt, zone);
12 Instant instant = zonedDateTime.toInstant();
13 Date date = Date.from(instant);
14 return date.getTime();
15}
long値を取得するには一度Dateへ変換せねばなりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/05 12:45