export const timeAgo = (time: any) => { switch (typeof time) { case "number": break; case "string": time = +new Date(time); break; case "object": if (time.constructor === Date) time = time.getTime(); break; default: time = +new Date(); } }; /** * @description Returns date and month, if date is of the current year * @description Returns date, month adn year, if date is of a different year than current * @param {string} date * @example renderFullDate("2023-01-01") // 1 Jan * @example renderFullDate("2021-01-01") // 1 Jan, 2021 */ export const renderFullDate = (date: string): string => { if (!date) return ""; const months: string[] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; const currentDate: Date = new Date(); const [year, month, day]: number[] = date.split("-").map(Number); const formattedMonth: string = months[month - 1]; const formattedDay: string = day < 10 ? `0${day}` : day.toString(); if (currentDate.getFullYear() === year) return `${formattedDay} ${formattedMonth}`; else return `${formattedDay} ${formattedMonth}, ${year}`; };