react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
42 lines (40 loc) • 1.09 kB
JavaScript
import { getServerContext } from "../serverContext.mjs";
import { IntlayerServerContext } from "../IntlayerServerProvider.mjs";
import { date } from "@intlayer/core";
//#region src/server/format/useDate.ts
/**
* React client hook that provides a localized date/time formatter
* bound to the current application locale.
*
* @returns {(date: Date | string | number, options?: DateProps) => string}
* A function to format dates or timestamps into localized date/time strings.
*
* @example
* ```tsx
* const formatDate = useDate();
*
* formatDate(new Date("2025-01-01"));
* // "Jan 1, 2025"
*
* formatDate("2025-01-01T15:30:00Z", {
* dateStyle: "full",
* timeStyle: "short",
* });
* // "Wednesday, January 1, 2025 at 3:30 PM"
*
* formatDate(1735689600000, { locale: "fr-FR", dateStyle: "long" });
* // "1 janvier 2025"
* ```
*
* @see createDate
*/
const useDate = () => {
const locale = getServerContext(IntlayerServerContext);
return (...args) => date(args[0], {
...args[1],
locale: args[1]?.locale ?? locale
});
};
//#endregion
export { useDate };
//# sourceMappingURL=useDate.mjs.map