Skip to content

Commit 742898d

Browse files
feat(util): remove getTimeZoneDesignator and getTimeZoneOffset helpers
1 parent 7bb9e7a commit 742898d

File tree

3 files changed

+1
-73
lines changed

3 files changed

+1
-73
lines changed

packages/util/index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ export {
55
formatZonedToLocalDate,
66
formatLocalToZonedDate,
77
getDate,
8-
getTimeZoneDesignator,
9-
getTimeZoneOffset,
108
isDate,
119
} from "./lib/date.js";
1210
export { sanitise } from "./lib/object.js";

packages/util/lib/date.js

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { tz, tzOffset } from "@date-fns/tz";
1+
import { tz } from "@date-fns/tz";
22
import { format, parseISO } from "date-fns";
33
import * as locales from "date-fns/locale";
44

@@ -124,50 +124,6 @@ export const getDate = (setting, dateString = "") => {
124124
return formattedDateTime;
125125
};
126126

127-
/**
128-
* Get local time zone offset in hours and minutes
129-
* @param {number} [minutes] - Time zone offset in minutes
130-
* @returns {string} Local time zone designator, i.e. +05:30, -06:00 or Z
131-
*/
132-
export const getTimeZoneDesignator = (minutes) => {
133-
minutes = minutes || minutes === 0 ? minutes : new Date().getTimezoneOffset();
134-
const hours = Math.abs(minutes / 60).toString();
135-
136-
const offsetHours = Number.parseInt(hours, 10);
137-
const offsetMinutes = Math.abs(minutes % 60);
138-
139-
const hh = String(offsetHours).padStart(2, "0");
140-
const mm = String(offsetMinutes).padStart(2, "0");
141-
142-
// Prepend positive/negative symbol to designator
143-
// If offset minutes is 0, time zone is UTC, so use Z
144-
let designator;
145-
if (minutes < 0) {
146-
designator = `+${hh}:${mm}`;
147-
} else if (minutes > 0) {
148-
designator = `-${hh}:${mm}`;
149-
} else if (minutes === 0) {
150-
designator = "+00:00";
151-
}
152-
153-
return designator;
154-
};
155-
156-
/**
157-
* Get offset minutes from time zone name
158-
* @param {string} timeZone - IANA tz timezone
159-
* @param {Date} date - Date time
160-
* @returns {number} Minutes offset from UTC
161-
*/
162-
export const getTimeZoneOffset = (timeZone, date) => {
163-
const minutes = tzOffset(timeZone, date);
164-
165-
// Ensure `tzOffset()` returns same value as
166-
// `Date.prototype.getTimezoneOffset()`
167-
const offset = minutes === 0 ? 0 : minutes * -1;
168-
return offset;
169-
};
170-
171127
/**
172128
* Check if a string can be parsed as a date
173129
* @param {string} string - String

packages/util/test/unit/date.js

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import {
88
formatZonedToLocalDate,
99
formatLocalToZonedDate,
1010
getDate,
11-
getTimeZoneDesignator,
12-
getTimeZoneOffset,
1311
isDate,
1412
} from "../../lib/date.js";
1513

@@ -199,30 +197,6 @@ describe("util/lib/date", () => {
199197
assert.equal(result, "2020-01-02T16:00:00.000Z");
200198
});
201199

202-
it("Gets server timezone offset from minutes", () => {
203-
assert.equal(getTimeZoneDesignator(0), "+00:00");
204-
assert.equal(getTimeZoneDesignator(150), "-02:30");
205-
assert.equal(getTimeZoneDesignator(-300), "+05:00");
206-
});
207-
208-
it("Gets server timezone offset from local time", () => {
209-
process.env.TZ = "Asia/Taipei"; // Does not observe DST
210-
assert.equal(getTimeZoneDesignator(), "+08:00");
211-
212-
process.env.TZ = "America/Panama"; // Does not observe DST
213-
assert.equal(getTimeZoneDesignator(), "-05:00");
214-
215-
process.env.TZ = "UTC";
216-
assert.equal(getTimeZoneDesignator(), "+00:00");
217-
});
218-
219-
it("Gets offset minutes from time zone name", () => {
220-
const date = new Date();
221-
assert.equal(getTimeZoneOffset("Asia/Taipei", date), -480);
222-
assert.equal(getTimeZoneOffset("America/Panama", date), 300);
223-
assert.equal(getTimeZoneOffset("UTC", date), 0);
224-
});
225-
226200
it("Check if a string can be parsed as a date", () => {
227201
assert.equal(isDate("2024-02-14T13:24:00+0100"), true);
228202
assert.equal(isDate("Wed Feb 14 2024 13:24:00 GMT+0100"), true);

0 commit comments

Comments
 (0)