fork download
  1. import java.time.*;
  2. import java.time.format.DateTimeFormatter;
  3.  
  4. public class Main {
  5. public static void main(String args[]) {
  6. var strDateTime = "Mon, 11 Sep 2023 15:49:32 GMT";
  7.  
  8. // Use a ZoneOffset as desired e.g. ZoneOffset.of("+05:00");
  9. var zoneOffset = ZoneOffset.UTC;
  10.  
  11. var dateFrom = OffsetDateTime.parse(strDateTime, DateTimeFormatter.RFC_1123_DATE_TIME)
  12. .withOffsetSameInstant(zoneOffset)
  13. .toLocalDate();
  14. var dateUntil = LocalDate.now(zoneOffset);
  15. var period = Period.between(dateFrom, dateUntil);
  16. System.out.println(period);
  17.  
  18. // Formatted
  19. System.out.println(formattedPeriod(period));
  20. }
  21.  
  22. static String formattedPeriod(Period period) {
  23. var years = period.getYears();
  24. var months = period.getMonths();
  25. return years > 0 ? years + " years" : months > 0 ? months + " months" : period.getDays() + " days";
  26. }
  27. }
Success #stdin #stdout 0.14s 50012KB
stdin
Standard input is empty
stdout
P28D
28 days