fix: date format

pull/4748/head
Steven 2 months ago
parent b942643785
commit 6d319900d6

@ -1,10 +1,11 @@
import dayjs from "dayjs";
import { isEqual } from "lodash-es"; import { isEqual } from "lodash-es";
import toast from "react-hot-toast"; import toast from "react-hot-toast";
import { cn } from "@/utils"; import { cn } from "@/utils";
// Helper function to convert Date to local datetime string. // convert Date to datetime string.
const toLocalDateTimeString = (date: Date | undefined): string => { const formatDate = (date: Date | undefined): string => {
return date?.toLocaleString() || ""; return dayjs(date).format("M/D/YYYY, H:mm:ss");
}; };
interface Props { interface Props {
@ -23,7 +24,7 @@ const DateTimeInput: React.FC<Props> = ({ value, originalValue, onChange }) => {
!isEqual(value, originalValue) && "border-gray-300 dark:border-zinc-700", !isEqual(value, originalValue) && "border-gray-300 dark:border-zinc-700",
"border", "border",
)} )}
defaultValue={toLocalDateTimeString(value)} defaultValue={formatDate(value)}
onBlur={(e) => { onBlur={(e) => {
const inputValue = e.target.value; const inputValue = e.target.value;
if (inputValue) { if (inputValue) {
@ -31,12 +32,12 @@ const DateTimeInput: React.FC<Props> = ({ value, originalValue, onChange }) => {
if (!isNaN(date.getTime())) { if (!isNaN(date.getTime())) {
onChange(date); onChange(date);
} else { } else {
toast.error("Invalid datetime format. Use format: 2023-12-31T23:59:59"); toast.error("Invalid datetime format. Use format: 12/31/2023, 23:59:59");
e.target.value = toLocalDateTimeString(value); e.target.value = formatDate(value);
} }
} }
}} }}
placeholder="YYYY-MM-DDTHH:mm:ss" placeholder="M/D/YYYY, H:mm:ss"
/> />
); );
}; };

Loading…
Cancel
Save