// todo: maybe move stuff /** * If the number is between 3 and 20, return the number with the suffix "th". Otherwise, return the * number with the suffix "st", "nd", "rd", or "th" depending on the last digit of the number * @param d - The day of the month. * @returns the day of the month with the appropriate suffix. */ export function nth(d) { if (d > 3 && d < 21) { return d + 'th'; } switch (d % 10) { case 1: return d + 'st'; case 2: return d + 'nd'; case 3: return d + 'rd'; default: return d + 'th'; } } /** * It takes a date and a timezone and returns a new date object with the timezone applied. * @param date - The date you want to convert. * @param tz - The timezone you want to convert to. * @returns A new Date object with the timezone set to the timezone passed in. */ export function convertTimezone(date, tz) { return new Date( (typeof date === 'string' ? new Date(date) : date).toLocaleString('en-US', { timeZone: tz, }), ); }