Skip to content

Commit

Permalink
Fix Date Parsing for Wallet Expiration Date and Handle Time Zone Cons…
Browse files Browse the repository at this point in the history
…istency
  • Loading branch information
MouhsinElmajdouby committed Dec 2, 2024
1 parent 9f6701e commit 9416156
Showing 1 changed file with 4 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
import java.io.InputStreamReader;
import java.security.KeyStore;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
Expand Down Expand Up @@ -230,7 +229,6 @@ public static Wallet unzip(ZipInputStream zipStream, char[] password) {
break;
case README_FILE:
readmeContent = readStreamToString(zipStream);
System.out.println(readmeContent);
break;
default:
// Ignore other files
Expand Down Expand Up @@ -300,20 +298,17 @@ public static OffsetDateTime parseExpirationDateFromReadme(String readmeContent)
if (matcher.find()) {
String expiryDateString = matcher.group(1).trim();
expiryDateString = expiryDateString.replace(" UTC", "Z");
System.out.println("expiryDateString: " + expiryDateString);

try {
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd HH:mm:ss")
.optionalStart()
.appendFraction(ChronoField.NANO_OF_SECOND, 0, 9, true)
.optionalEnd()
.appendPattern("X") // Accept 'Z' as offset
.toFormatter(Locale.ENGLISH); // Specify locale explicitly
System.out.println("formatter: " + formatter);
.toFormatter(Locale.ENGLISH);

try {
OffsetDateTime expirationDate = OffsetDateTime.parse(expiryDateString, formatter);
System.out.println("Parsed Expiration Date: " + expirationDate);
return expirationDate;
return OffsetDateTime.parse(expiryDateString, formatter);
} catch (DateTimeParseException e) {
throw new IllegalStateException("Failed to parse expiration date from README", e);
}
Expand Down

0 comments on commit 9416156

Please sign in to comment.