Skip to content

Commit

Permalink
Merge pull request #176 from tswistak/holiday-generator-timezone-fix
Browse files Browse the repository at this point in the history
[Holiday generator] Generate all holidays in UTC
  • Loading branch information
naveensingh authored Nov 3, 2024
2 parents ef3e997 + e0ddab8 commit 1f5b9fd
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/holiday-generator/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ function log(toLog) {
*/
function getEvents(countryCode) {
const generator = new Holidays(countryCode);
generator.setTimezone("UTC");
const events = [];
for (let i = START_YEAR; i <= END_YEAR; i++) {
events.push(...generator.getHolidays(i).filter((x) => TYPE_WHITELIST.includes(x.type)));
Expand All @@ -54,7 +55,7 @@ function generateUid(countryCode, date, rule) {
* @returns
*/
function getDateArray(date) {
return [date.getFullYear(), date.getMonth() + 1, date.getDate()];
return [date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate()];
}

/**
Expand All @@ -79,9 +80,9 @@ async function generateIcal(events, countryCode) {
if (isFixedDate(x.rule)) {
const uid = generateUid(countryCode, "", x.rule);
if (!eventsMap.has(uid)) {
const yearDiff = x.end.getFullYear() - x.start.getFullYear();
x.start.setFullYear(FIXED_DATE_START_YEAR);
x.end.setFullYear(FIXED_DATE_START_YEAR + yearDiff);
const yearDiff = x.end.getUTCFullYear() - x.start.getUTCFullYear();
x.start.setUTCFullYear(FIXED_DATE_START_YEAR);
x.end.setUTCFullYear(FIXED_DATE_START_YEAR + yearDiff);
eventsMap.set(uid, {
title: x.name,
uid,
Expand Down

0 comments on commit 1f5b9fd

Please sign in to comment.