From b83683fbba6ae5cc73414b2331313a8b9ceee434 Mon Sep 17 00:00:00 2001 From: zharkov Date: Fri, 20 May 2022 14:28:15 +0300 Subject: [PATCH] Fix dateUtc computation --- src/main/java/org/ebml/DateElement.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/ebml/DateElement.java b/src/main/java/org/ebml/DateElement.java index 72d0753..4b5b914 100644 --- a/src/main/java/org/ebml/DateElement.java +++ b/src/main/java/org/ebml/DateElement.java @@ -25,7 +25,7 @@ public class DateElement extends SignedIntegerElement { // const uint64 EbmlDate::UnixEpochDelay = 978307200; // 2001/01/01 00:00:00 UTC - public static final long UnixEpochDelay = 978307200; // 2001/01/01 00:00:00 UTC + public static final long UnixEpochDelay = 978307200000L; // 2001/01/01 00:00:00 UTC private static final int MIN_SIZE_LENGTH = 8; public DateElement(final byte[] type) @@ -45,7 +45,7 @@ public DateElement() */ public void setDate(final Date value) { - final long val = (value.getTime() - UnixEpochDelay) * 1000000000; + final long val = (value.getTime() - UnixEpochDelay) * 1000000; setData(ByteBuffer.wrap(packInt(val, MIN_SIZE_LENGTH))); } @@ -61,7 +61,7 @@ public Date getDate() * long diff1 = start.getTime(); long diff2 = end.getTime(); long diff3 = Date.UTC(2001, 1, 1, 0, 0, 0) - Date.UTC(1970, 1, 1, 0, 0, 0); */ long val = getValue(); - val = val / 1000000000 + UnixEpochDelay; + val = val / 1000000 + UnixEpochDelay; return new Date(val); }