Selaa lähdekoodia

Fix handling of MessageTags times when we are not at UTC.

MessageTags time is in UTC, LocalDateTime doesn't care for the timezone
when parsing, so we were treating the UTC time as the local time rather
then adjusting from UTC to Local.

Now we adjust it properly.
pull/154/head
Shane Mc Cormack 7 vuotta sitten
vanhempi
commit
bb1bafbc83
1 muutettua tiedostoa jossa 2 lisäystä ja 0 poistoa
  1. 2
    0
      irc/src/main/java/com/dmdirc/parser/irc/IRCParser.java

+ 2
- 0
irc/src/main/java/com/dmdirc/parser/irc/IRCParser.java Näytä tiedosto

@@ -62,6 +62,7 @@ import java.security.SecureRandom;
62 62
 import java.time.Instant;
63 63
 import java.time.LocalDateTime;
64 64
 import java.time.ZoneId;
65
+import java.time.ZoneOffset;
65 66
 import java.time.format.DateTimeFormatter;
66 67
 import java.time.format.DateTimeParseException;
67 68
 import java.util.ArrayList;
@@ -1133,6 +1134,7 @@ public class IRCParser extends BaseSocketAwareParser implements SecureParser, En
1133 1134
             try {
1134 1135
                 lineTS = LocalDateTime.parse(line.getTags().get("time"),
1135 1136
                         DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"));
1137
+                lineTS = lineTS.atOffset(ZoneOffset.UTC).atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime();
1136 1138
             } catch (final DateTimeParseException pe) { /* Do nothing. */ }
1137 1139
         }
1138 1140
 

Loading…
Peruuta
Tallenna