格式化工具函式

用於格式化日期、時間和數字以供顯示的函式。

import {
formatDate,
formatDateTime,
formatTimeDisplay,
padNumber,
} from "react-date-range-picker-headless";

formatDate

使用可自訂的格式字串來格式化日期。

簽名formatDate(date: Date, format?: string): string
預設格式"YYYY.MM.DD"
formatDate(new Date(2026, 2, 1)); // "2026.03.01"
formatDate(new Date(2026, 2, 1), "YYYY-MM-DD"); // "2026-03-01"
formatDate(new Date(2026, 2, 1), "M/D"); // "3/1"

formatDateTime

使用可自訂的格式字串來格式化日期與時間。

簽名formatDateTime(date: Date, format?: string): string
預設格式"YYYY.MM.DD HH:mm"
formatDateTime(new Date(2026, 2, 1, 14, 30)); // "2026.03.01 14:30"
formatDateTime(new Date(2026, 2, 1, 14, 30), "YYYY-MM-DD HH:mm:ss"); // "2026-03-01 14:30:00"

formatTimeDisplay

根據一個解析後的 TimeConfig 來格式化時間顯示字串。

簽名formatTimeDisplay(hour: number, minute: number, second: number, period: TimePeriod, config: Required<TimeConfig>, amLabel?: string, pmLabel?: string): string
參數類型預設值描述
hournumber小時值(內部使用 24 小時格式)。
minutenumber分鐘值。
secondnumber秒鐘值。
periodTimePeriod上午/下午(用於 12 小時制顯示)。
configRequired<TimeConfig>解析後的時間設定。
amLabelstring"AM"AM 顯示標籤。
pmLabelstring"PM"PM 顯示標籤。
import { resolveTimeConfig, formatTimeDisplay } from "react-date-range-picker-headless";
const config = resolveTimeConfig({ precision: "minute", hourFormat: "24" });
formatTimeDisplay(14, 30, 0, "PM", config); // "14:30"
const config12 = resolveTimeConfig({ precision: "second", hourFormat: "12" });
formatTimeDisplay(14, 30, 15, "PM", config12); // "02:30:15 PM"

padNumber

將數字填充為 2 位數的字串。

簽名padNumber(num: number): string
padNumber(1); // "01"
padNumber(12); // "12"
padNumber(0); // "00"