diff --git a/src/lib/components/formatted_date.svelte b/src/lib/components/formatted_date.svelte index 2930e4b..d06fa8f 100644 --- a/src/lib/components/formatted_date.svelte +++ b/src/lib/components/formatted_date.svelte @@ -3,22 +3,9 @@ if (typeof date === 'string') date = new Date(date); - const pad = function (str: string): string { - return ('0' + str).slice(-2); - }; + import { format } from "$lib/scripts/formatted_date"; - const year = date.getFullYear().toString(); - const month = pad((date.getMonth() + 1).toString()); - const day = pad(date.getDate().toString()); - const hour = pad(date.getHours().toString()); - const min = pad(date.getMinutes().toString()); - const sec = pad(date.getSeconds().toString()); - const tz = -date.getTimezoneOffset(); - const sign = tz >= 0 ? '+' : '-'; - const tzHour = pad((tz / 60).toString()); - const tzMin = pad((tz % 60).toString()); - - let formattedDate = `${year}-${month}-${day}T${hour}:${min}:${sec}${sign}${tzHour}:${tzMin}`; + const formattedDate = format(date); {formattedDate} diff --git a/src/lib/scripts/formatted_date.ts b/src/lib/scripts/formatted_date.ts new file mode 100644 index 0000000..b8b2667 --- /dev/null +++ b/src/lib/scripts/formatted_date.ts @@ -0,0 +1,20 @@ +export const format = ( + date: Date +) => { + const pad = function (str: string): string { + return ('0' + str).slice(-2); + }; + + const year = date.getFullYear().toString(); + const month = pad((date.getMonth() + 1).toString()); + const day = pad(date.getDate().toString()); + const hour = pad(date.getHours().toString()); + const min = pad(date.getMinutes().toString()); + const sec = pad(date.getSeconds().toString()); + const tz = -date.getTimezoneOffset(); + const sign = tz >= 0 ? '+' : '-'; + const tzHour = pad((tz / 60).toString()); + const tzMin = pad((tz % 60).toString()); + + return `${year}-${month}-${day}T${hour}:${min}:${sec}${sign}${tzHour}:${tzMin}`; +}; \ No newline at end of file