DEV Community

Discussion on: Farewell, Moment.js!

Collapse
 
lionelrowe profile image
lionel-rowe • Edited

For one of the most common use cases, formatting dates, no libraries are required at all (except maybe a polyfill, depending what locales and environments you need to support). You can just use the Intl.DateTimeFormat constructor.

For example:

const dateFormat = (lang, country) => {
    const formatter = new Intl.DateTimeFormat(
        `${lang}-${country}`,
        { dateStyle: 'full' },
    )

    return date => formatter.format(new Date(date))
}

dateFormat('en', 'AU')(Date.now())
// Friday, 18 September 2020

dateFormat('th', 'TH')(Date.now())
// วันศุกร์ที่ 18 กันยายน พ.ศ. 2563