From 9452e063bd978b67476699085e95fac1c2b17121 Mon Sep 17 00:00:00 2001 From: mShan0 <96149598+mShan0@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:19:51 -0800 Subject: [PATCH] change datetime range check --- src/data-types/datetime.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/data-types/datetime.ts b/src/data-types/datetime.ts index 6c253c756..9eba9582b 100644 --- a/src/data-types/datetime.ts +++ b/src/data-types/datetime.ts @@ -6,9 +6,6 @@ const EPOCH_DATE = LocalDate.ofYearDay(1900, 1); const NULL_LENGTH = Buffer.from([0x00]); const DATA_LENGTH = Buffer.from([0x08]); -const MIN_DATE = new Date('January 1, 1753'); -const MAX_DATE = new Date('December 31, 9999'); - const DateTime: DataType = { id: 0x3D, type: 'DATETIME', @@ -88,11 +85,14 @@ const DateTime: DataType = { // TODO: check date range: January 1, 1753, through December 31, 9999 // : time range: 00:00:00 through 23:59:59.997 + let year; if (options && options.useUTC) { - value = new Date(value.toUTCString()); + year = value.getUTCFullYear(); + } else { + year = value.getFullYear(); } - if (value < MIN_DATE || value > MAX_DATE) { + if (year < 1753 || year > 9999) { throw new TypeError('Out of range.'); }