encodeDate
import { encodeDate } from 'cx/util'; Copied The encodeDate function formats a Date object as an ISO date string in YYYY-MM-DD format.
Basic Usage
import { encodeDate } from "cx/util";
const date = new Date(2024, 5, 15); // June 15, 2024
encodeDate(date); // "2024-06-15"
const date2 = new Date(2024, 0, 5); // January 5, 2024
encodeDate(date2); // "2024-01-05"
How It Works
The function extracts year, month, and day components and formats them with zero-padding.
import { encodeDate } from "cx/util";
// Single-digit month and day are zero-padded
const date = new Date(2024, 0, 1);
encodeDate(date); // "2024-01-01"
// Time component is ignored
const dateWithTime = new Date(2024, 5, 15, 14, 30, 45);
encodeDate(dateWithTime); // "2024-06-15"
Common Use Cases
API Requests
import { encodeDate } from "cx/util";
async function fetchDataForDate(date: Date) {
const dateStr = encodeDate(date);
const response = await fetch(`/api/data?date=${dateStr}`);
return response.json();
}
Form Values
import { encodeDate } from "cx/util";
// Convert Date to string for HTML date input
const date = new Date(2024, 5, 15);
const inputValue = encodeDate(date);
// Use as: <input type="date" value={inputValue} />
Data Storage
import { encodeDate } from "cx/util";
interface Record {
id: string;
date: string; // Stored as ISO string
}
function createRecord(date: Date): Record {
return {
id: crypto.randomUUID(),
date: encodeDate(date),
};
}
URL Parameters
import { encodeDate } from "cx/util";
function buildReportUrl(startDate: Date, endDate: Date): string {
const start = encodeDate(startDate);
const end = encodeDate(endDate);
return `/reports?from=${start}&to=${end}`;
}
buildReportUrl(new Date(2024, 0, 1), new Date(2024, 11, 31));
// "/reports?from=2024-01-01&to=2024-12-31"
API
function encodeDate(date: Date): string;
| Parameter | Type | Description |
|---|---|---|
| date | Date | The date to format |
Returns: ISO date string in YYYY-MM-DD format.