From 3a495b77bb74366cf08e5a49b07487eafbfc26b2 Mon Sep 17 00:00:00 2001 From: Andres Galindo Date: Mon, 21 Oct 2024 18:06:15 -0700 Subject: [PATCH] Specify ISO format for consistent browser parsing (#2972) Co-authored-by: Stuart Runyan --- src/shell/components/FieldTypeDateTime/util.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/shell/components/FieldTypeDateTime/util.ts b/src/shell/components/FieldTypeDateTime/util.ts index 8c09bb8441..e6168b5132 100644 --- a/src/shell/components/FieldTypeDateTime/util.ts +++ b/src/shell/components/FieldTypeDateTime/util.ts @@ -1469,12 +1469,17 @@ export const TIMEZONES = [ }, ] as const; +// Specify exact ISO format. This ensures consistent parsing across different browsers. +const ISO_FORMAT = "MM/DD/YYYY HH:mm:ss.SSSSSS"; + export const toISOString = (timeString: string) => { - return moment(`01-01-2024 ${timeString}`).format("HH:mm:ss.SSSSSS"); + return moment(`01-01-2024 ${timeString}`, ISO_FORMAT).format( + "HH:mm:ss.SSSSSS" + ); }; export const to12HrTime = (isoTime: string) => { - return moment(`01/01/2024 ${isoTime}`).format("h:mm a"); + return moment(`01/01/2024 ${isoTime}`, ISO_FORMAT).format("h:mm a"); }; const generateTimeOptions = () => {