import { utcToZonedTime, zonedTimeToUtc } from "date-fns-tz"; export const TERMS = ["winter", "spring", "fall"] as const; export type Term = typeof TERMS[number]; export const DATE_FORMAT = "MMMM dd yyyy HH:mm"; // https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates export function isTerm(x: string): x is Term { return TERMS.some((term) => x === term); } export function capitalize(str: string) { return str.slice(0, 1).toUpperCase() + str.slice(1); } // Converts a date to local time export function getLocalDateFromEST(date: Date): Date { return utcToZonedTime( // The date parameter is in EST zonedTimeToUtc(date, "America/Toronto"), Intl.DateTimeFormat().resolvedOptions().timeZone ); }