diff options
Diffstat (limited to 'src/utils/date.ts')
| -rw-r--r-- | src/utils/date.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/utils/date.ts b/src/utils/date.ts new file mode 100644 index 0000000..fb943a5 --- /dev/null +++ b/src/utils/date.ts @@ -0,0 +1,23 @@ +import type { CollectionEntry } from "astro:content"; +import { siteConfig } from "@/site.config"; + +export function getFormattedDate( + date: Date | undefined, + options?: Intl.DateTimeFormatOptions, +): string { + if (date === undefined) { + return "Invalid Date"; + } + + return new Intl.DateTimeFormat(siteConfig.date.locale, { + ...(siteConfig.date.options as Intl.DateTimeFormatOptions), + ...options, + }).format(date); +} + +export function collectionDateSort( + a: CollectionEntry<"post" | "note">, + b: CollectionEntry<"post" | "note">, +) { + return b.data.publishDate.getTime() - a.data.publishDate.getTime(); +} |
