JavaScript date-fns with Studio
Follow these instructions to use date-fns with your JavaScript function.
This example is from the date-fns website.
import { format, formatDistance, formatRelative, subDays } from 'date-fns'
format(new Date(), "'Today is a' eeee")
//=> "Today is a Thursday"
formatDistance(subDays(new Date(), 3), new Date(), { addSuffix: true })
//=> "3 days ago"
formatRelative(subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."
Your JavaScript function should use the dateFns prefix.
dateFns.format(new Date(), "'Today is a' eeee")
//=> "Today is a Thursday"
dateFns.formatDistance(dateFns.subDays(new Date(), 3), new Date(), { addSuffix: true })
//=> "3 days ago"
dateFns.formatRelative(dateFns.subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."
The date-fns library has two sub-modules: locale and fp.
import { addYears, formatWithOptions } from 'date-fns/fp'
import { eo } from 'date-fns/locale'
const addFiveYears = addYears(5)
const dateToString = formatWithOptions({ locale: eo }, 'D MMMM YYYY')
const dates = [
new Date(2017, 0, 1),
new Date(2017, 1, 11),
new Date(2017, 6, 2)
]
const toUpper = arg => String(arg).toUpperCase()
const formattedDates = dates.map(addFiveYears).map(dateToString).map(toUpper)
//=> ['1 JANUARO 2022', '11 FEBRUARO 2022', '2 JULIO 2022']
Your JavaScript function should use the dateFnsLocale prefix to access the locale sub-module and the dateFnsFp prefix to access the fp sub-module.
const addFiveYears = dateFnsFp.addYears(5)
const dateToString = dateFnsFp.formatWithOptions({ locale: dateFnsLocale.eo }, 'D MMMM YYYY')
const dates = [
new Date(2017, 0, 1),
new Date(2017, 1, 11),
new Date(2017, 6, 2)
]
const toUpper = arg => String(arg).toUpperCase()
const formattedDates = dates.map(addFiveYears).map(dateToString).map(toUpper)
//=> ['1 JANUARO 2022', '11 FEBRUARO 2022', '2 JULIO 2022']