0

I want to calculate interval until some date. I tested this code:

 String dateStop = "25/11/17 09:00:00";

        // Custom date format
        SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

        LocalDateTime d1 = LocalDateTime.now();
        Date d2 = null;
        try
        {
            d2 = format.parse(dateStop);
        }
        catch (ParseException e)
        {
            e.printStackTrace();
        }

        // Get msec from each, and subtract.
        long diff = d2.getTime() - d1.getTime();

        long days = TimeUnit.MILLISECONDS.toDays(diff);
        long remainingHoursInMillis = diff - TimeUnit.DAYS.toMillis(days);
        long hours = TimeUnit.MILLISECONDS.toHours(remainingHoursInMillis);
        long remainingMinutesInMillis = remainingHoursInMillis - TimeUnit.HOURS.toMillis(hours);
        long minutes = TimeUnit.MILLISECONDS.toMinutes(remainingMinutesInMillis);
        long remainingSecondsInMillis = remainingMinutesInMillis - TimeUnit.MINUTES.toMillis(minutes);
        long seconds = TimeUnit.MILLISECONDS.toSeconds(remainingSecondsInMillis);

        System.out.println("Days: " + days + ", hours: " + hours + ", minutes: " + minutes + ", seconds: " + seconds);

But How I can get current date and calculate the time difference? I get exception here: location: variable d1 of type LocalDateTime

How I can fix this issue?

Peter Penzov
  • 1,126
  • 134
  • 430
  • 808

1 Answers1

0

There is no getTime() for LocalDateTime. Use the Date class for d1 instead or convert to it:

java.util.Date.from( d1.toInstant() ).getTime();
influjensbahr
  • 3,978
  • 1
  • 12
  • 12