JSFiddle - React, Tailwind, and code Playground

by ecmanaut

JavaScript

var defaultDateTimeFormat = {
    year: "numeric",
    month: "long",
    day: "numeric",
    hour: "numeric",
    minute: "2-digit"
};

var when = new Date(2000, 1, 2, 3, 4, 5);

function formatDate(date = when, locale = "en-us", formatOptions = defaultDateTimeFormat) {
    if (window.Intl && window.Intl.DateTimeFormat) {
        const formatter = new Intl.DateTimeFormat(locale, formatOptions);
        return formatter.format(date);
    }

    if (
        Date.prototype.toLocaleTimeString &&
        Date.prototype.toLocaleDateString
    ) {
        const ymd = date.toLocaleDateString(locale, formatOptions);
        const hms = date.toLocaleTimeString(locale, formatOptions);
        return `${ymd}, ${hms}`;
    }

    return `${date.toDateString()}, ${date.toTimeString()}`;
}

document.body.textContent = formatDate();