authorjapps/zerocode

Z - Zero-Timezone or Zulu-timezone - While Date comparison

Open

#268 geöffnet am 2. Juli 2019

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Java (447 Forks)auto 404
help wanted

Repository-Metriken

Stars
 (1.010 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

While doing Date comparison i.e. BEFORE or AFTER consider

$LOCAL.DATETIME.AFTER: $LOCAL.DATETIME.BEFORE:

Consider Z as explained in the subject.

Please read the attached PDF to this description. PDF file : Discussion around Z in Date - the PR.pdf

Precisely the suggested solution is also available in the PDF(PR).

public static LocalDateTime parseDate(String value) {
     try {
         ZonedDateTime zonedDateTime = ZonedDateTime.parse(value, DateTimeFormatter.ISO_DATE_TIME);
         return zonedDateTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime();
     } catch ( DateTimeParseException e ) {
         return LocalDateTime.parse(value, DateTimeFormatter.ISO_DATE_TIME);
     }
}

If

String value = "2019-06-15T11:21:53.211"; Then the effective LocalDateTime will be : 2019-06-15T11:21:53.211 (catch code is executed and returned. Note the time is returned as-it-is)

if

String value = "2019-06-15T11:21:53.211Z"; Then the effective LocalDateTime will be : 2019-06-15T12:21:53.211 (In this case - try code is executed n returned. Note- The time has 1hr difference)

The difference in time could be different depending on which timezone this code is executed.

@BartRobeyns , if you want to expand more on this, please go ahead!

Contributor Guide