Bladeren bron

Use OffsetDateTime for server-time parsing.

pull/155/head
Shane Mc Cormack 7 jaren geleden
bovenliggende
commit
0b4c25c6e5
1 gewijzigde bestanden met toevoegingen van 6 en 4 verwijderingen
  1. 6
    4
      irc/src/main/java/com/dmdirc/parser/irc/IRCParser.java

+ 6
- 4
irc/src/main/java/com/dmdirc/parser/irc/IRCParser.java Bestand weergeven

62
 import java.time.Instant;
62
 import java.time.Instant;
63
 import java.time.LocalDateTime;
63
 import java.time.LocalDateTime;
64
 import java.time.ZoneId;
64
 import java.time.ZoneId;
65
-import java.time.ZoneOffset;
65
+import java.time.OffsetDateTime;
66
 import java.time.format.DateTimeFormatter;
66
 import java.time.format.DateTimeFormatter;
67
 import java.time.format.DateTimeParseException;
67
 import java.time.format.DateTimeParseException;
68
 import java.util.ArrayList;
68
 import java.util.ArrayList;
118
     /** Byte used to show that a non-boolean mode is not a list, and requires a parameter to unset (k). */
118
     /** Byte used to show that a non-boolean mode is not a list, and requires a parameter to unset (k). */
119
     public static final byte MODE_UNSET = 4;
119
     public static final byte MODE_UNSET = 4;
120
 
120
 
121
+    /** server-time time format */
122
+    private static final DateTimeFormatter serverTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX");
123
+
121
     /**
124
     /**
122
      * Default channel prefixes if none are specified by the IRCd.
125
      * Default channel prefixes if none are specified by the IRCd.
123
      *
126
      *
1132
             } catch (final NumberFormatException nfe) { /* Do nothing. */ }
1135
             } catch (final NumberFormatException nfe) { /* Do nothing. */ }
1133
         } else if (line.getTags().containsKey("time")) {
1136
         } else if (line.getTags().containsKey("time")) {
1134
             try {
1137
             try {
1135
-                lineTS = LocalDateTime.parse(line.getTags().get("time"),
1136
-                        DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"));
1137
-                lineTS = lineTS.atOffset(ZoneOffset.UTC).atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime();
1138
+                lineTS = OffsetDateTime.parse(line.getTags().get("time"), serverTimeFormat)
1139
+                        .atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime();
1138
             } catch (final DateTimeParseException pe) { /* Do nothing. */ }
1140
             } catch (final DateTimeParseException pe) { /* Do nothing. */ }
1139
         }
1141
         }
1140
 
1142
 

Laden…
Annuleren
Opslaan