From 86a76febd73d250e7b3c8aedd00e5d5c7ede1c0d Mon Sep 17 00:00:00 2001 From: tree Date: Mon, 30 May 2022 02:05:05 -0500 Subject: [PATCH] Update --- src/lib/EventSchedule.svelte | 6 +++--- src/lib/periods.js | 6 ++++-- src/lib/utils.js | 12 ++++++++++++ src/routes/program.svelte | 15 ++++++++------- 4 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 src/lib/utils.js diff --git a/src/lib/EventSchedule.svelte b/src/lib/EventSchedule.svelte index 4b45998..dd30637 100644 --- a/src/lib/EventSchedule.svelte +++ b/src/lib/EventSchedule.svelte @@ -1,5 +1,5 @@
- {format(start, "yyyy-MM-dd") === "2022-06-04" ? "SO" : "NE"} - {format(start, "HH:mm")}-{format(end, "HH:mm")} ({stage ? stage.name : "n/a"}) + {formatCET(start, "yyyy-MM-dd") === "2022-06-04" ? "SO" : "NE"} + {formatCET(start, "HH:mm")}-{formatCET(end, "HH:mm")} ({stage ? stage.name : "n/a"})
diff --git a/src/lib/periods.js b/src/lib/periods.js index e1261f9..4078a7f 100644 --- a/src/lib/periods.js +++ b/src/lib/periods.js @@ -1,5 +1,7 @@ import { format, addDays } from "date-fns"; +const TZoffset = new Date().getTimezoneOffset() + export function parsePeriod(bundle, str) { const [dayNumber, times, name] = str.split("/"); const [start, end] = times.split("-"); @@ -10,8 +12,8 @@ export function parsePeriod(bundle, str) { date, name, period: { - start: new Date(`${date}T${start}`), - end: new Date(`${endDate}T${end}`), + start: new Date(`${date}T${start}+02:00`), + end: new Date(`${endDate}T${end}+02:00`), }, }; } diff --git a/src/lib/utils.js b/src/lib/utils.js new file mode 100644 index 0000000..8c5d2b5 --- /dev/null +++ b/src/lib/utils.js @@ -0,0 +1,12 @@ +import { format, compareAsc, compareDesc } from "date-fns"; + +const TZoffset = new Date().getTimezoneOffset() + +export function formatCET (...args) { + + if (TZoffset !== -120) { + const co = (120-(-TZoffset)) + args[0] = new Date(args[0].getTime() + (co*60*1000)) + } + return format(...args) +} diff --git a/src/routes/program.svelte b/src/routes/program.svelte index 869849d..cbc0bc3 100644 --- a/src/routes/program.svelte +++ b/src/routes/program.svelte @@ -7,6 +7,7 @@ import { goto } from "$app/navigation"; import { page } from "$app/stores"; import { format, compareAsc, compareDesc } from "date-fns"; + import { formatCET } from '$lib/utils.js'; import { bundle, userData, loadInfo, schedulePref } from "$lib/stores.js"; import { cs } from "date-fns/locale/index.js"; import { parsePeriod } from "$lib/periods.js"; @@ -165,7 +166,7 @@ } } } - arr.push({ title: format(time, "HH:mm"), stages }); + arr.push({ title: formatCET(time, "HH:mm"), stages }); time = new Date(time.getTime() + 30 * 60 * 1000); } return arr; @@ -407,7 +408,7 @@ {#if st.name} {st.name} {:else} - {format(new Date(st.date), "iiii d.M.y", { locale: cs })} + {formatCET(new Date(st.date), "iiii d.M.y", { locale: cs })} {/if}
@@ -420,7 +421,7 @@
@@ -432,8 +433,8 @@ {format(new Date(st.date), "iiiiii", { locale: cs })}
{format(new Date(st.date), "d.M.")}{formatCET(new Date(st.date), "iiiiii", { locale: cs })}
{formatCET(new Date(st.date), "d.M.")} {#each activeStages($bundle, $bundle.spec.stages, st, plan) as stage} {#if $schedulePref && ($schedulePref.stage === stage.id || $schedulePref.stage === "all")} @@ -487,10 +488,10 @@ >
- {format( + {formatCET( new Date(si.period.start), "HH:mm" - )}-{format(new Date(si.period.end), "HH:mm")} + )}-{formatCET(new Date(si.period.end), "HH:mm")} @{si.id} {#if event.track}[{#each [$bundle.spec.tracks.find((t) => t.id === event.track)] as track}{track.shortname || track.name}{/each}]{/if}