Browse Source

Fix tsirc timezone handling.

I incorrectly specified the timezone as UTC, when it needs to be
given the local timezone (so it can convert the always-in-UTC
epoch time into the correct local time).
pull/135/head
Chris Smith 7 years ago
parent
commit
b6ff00043f
1 changed files with 4 additions and 2 deletions
  1. 4
    2
      irc/src/main/java/com/dmdirc/parser/irc/IRCParser.java

+ 4
- 2
irc/src/main/java/com/dmdirc/parser/irc/IRCParser.java View File

@@ -59,8 +59,9 @@ import java.net.UnknownHostException;
59 59
 import java.security.KeyManagementException;
60 60
 import java.security.NoSuchAlgorithmException;
61 61
 import java.security.SecureRandom;
62
+import java.time.Instant;
62 63
 import java.time.LocalDateTime;
63
-import java.time.ZoneOffset;
64
+import java.time.ZoneId;
64 65
 import java.time.format.DateTimeFormatter;
65 66
 import java.time.format.DateTimeParseException;
66 67
 import java.util.ArrayList;
@@ -1114,7 +1115,8 @@ public class IRCParser extends BaseSocketAwareParser implements SecureParser, En
1114 1115
         if (line.getTags().containsKey("tsirc date")) {
1115 1116
             try {
1116 1117
                 final long ts = Long.parseLong(line.getTags().get("tsirc date")) - tsdiff;
1117
-                lineTS = LocalDateTime.ofEpochSecond(ts / 1000L, (int) (ts % 1000L), ZoneOffset.UTC);
1118
+                lineTS = LocalDateTime.ofInstant(Instant.ofEpochSecond(ts / 1000L, (int) (ts % 1000L)),
1119
+                        ZoneId.systemDefault());
1118 1120
             } catch (final NumberFormatException nfe) { /* Do nothing. */ }
1119 1121
         } else if (line.getTags().containsKey("time")) {
1120 1122
             try {

Loading…
Cancel
Save