Tanggal dan waktu
String ISO, Date lokal, dan penyimpanan datetime UTC.
Penggunaan
Gunakan form dari useForm. Lihat persiapan awal.
const schema = z.object({
day: z.iso.date(),
time: z.iso.time(),
birthday: z.date().optional(),
meeting: z.iso.datetime().optional(),
});
<ErlForm
form={form}
schema={schema}
/>| Schema | Input | Nilai saat diedit |
|---|---|---|
z.iso.date() | date | String YYYY-MM-DD |
z.iso.time() | time | String waktu dari browser |
z.iso.datetime() | datetime-local | String ISO UTC; kosong menjadi undefined |
z.date() | date | Object Date tengah malam lokal; kosong menjadi undefined |
Pasang dengan pola Quick Start. String date/time yang dikosongkan menjadi ""; .optional() hanya menerima undefined, sehingga string kosong perlu ditangani dalam schema bila diperbolehkan.
z.date() mempertahankan tanggal kalender lokal. Jangan mengambil tanggal lokal melalui toISOString().slice(0, 10) karena zona waktu bisa menggeser hari. Date yang berasal dari JSON perlu dikonversi kembali menjadi object Date oleh aplikasi.
Datetime ditampilkan dalam waktu lokal lalu disimpan sebagai UTC ketika diedit. Pukul 09.00 WIB menjadi pukul 02.00Z pada tanggal yang sama. Sesuaikan presisi schema waktu dengan nilai browser, terutama bila mengharuskan detik.
Opsi min, max, dan step belum diteruskan ke input tanggal/waktu bawaan 1.0.0. Gunakan validasi schema dan komponen kustom bila perlu atribut input tambahan.