UNPKG

@storm-stack/date-time

Version:

This package includes a DateTime class, various utility functions for working with dates and times, and a number of formatting options.

24 lines (23 loc) 868 B
import { format } from "@formkit/tempo"; import { EMPTY_STRING } from "@storm-stack/types/utility-types/base"; import { DEFAULT_DATE_FORMAT } from "../constants.mjs"; import { StormDate } from "../storm-date.mjs"; import { StormDateTime } from "../storm-date-time.mjs"; export const formatDate = (dateTime, options = {}) => { let value = dateTime; if (!dateTime && options.returnEmptyIfNotSet) { return EMPTY_STRING; } if ((!dateTime || StormDate.validate(dateTime) !== null) && options.returnEmptyIfInvalid) { return EMPTY_STRING; } if (!dateTime || StormDate.validate(dateTime) !== null) { value = StormDate.current(); } return format({ date: value, format: options.format || DEFAULT_DATE_FORMAT, locale: options.locale, tz: StormDateTime.isDateTime(value) ? value.timeZoneId : StormDateTime.getDefaultTimeZone() }); };