diff --git a/web/src/components/DateTimeInput.tsx b/web/src/components/DateTimeInput.tsx index a1901be05..6d0c126fc 100644 --- a/web/src/components/DateTimeInput.tsx +++ b/web/src/components/DateTimeInput.tsx @@ -2,7 +2,8 @@ import dayjs from "dayjs"; import toast from "react-hot-toast"; import { cn } from "@/lib/utils"; -const DATE_TIME_FORMAT = "M/D/YYYY, H:mm:ss"; +// must be compatible with JS Date.parse(), we use ISO 8601 (almost) +const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss"; // convert Date to datetime string. const formatDate = (date: Date): string => { @@ -23,12 +24,13 @@ const DateTimeInput: React.FC = ({ value, onChange }) => { onBlur={(e) => { const inputValue = e.target.value; if (inputValue) { - const date = dayjs(inputValue, DATE_TIME_FORMAT, true).toDate(); + // note: inputValue must be compatible with JS Date.parse() + const date = dayjs(inputValue).toDate(); // Check if the date is valid. if (!isNaN(date.getTime())) { onChange(date); } else { - toast.error("Invalid datetime format. Use format: 12/31/2023, 23:59:59"); + toast.error("Invalid datetime format. Use format: 2023-12-31 23:59:59"); e.target.value = formatDate(value); } }