diff --git a/web-ui/src/main/resources/catalog/components/utility/UtilityService.js b/web-ui/src/main/resources/catalog/components/utility/UtilityService.js index 72187f6de274..17c250235a4e 100644 --- a/web-ui/src/main/resources/catalog/components/utility/UtilityService.js +++ b/web-ui/src/main/resources/catalog/components/utility/UtilityService.js @@ -594,36 +594,32 @@ "gnGlobalSettings", function (gnGlobalSettings) { return function (date, format, contextAllowToUseFromNow) { - function isDateGmlFormat(date) { - return date.match("[Zz]$") !== null; - } - var settingAllowToUseFromNow = gnGlobalSettings.gnCfg.mods.global.humanizeDates, - timezone = gnGlobalSettings.gnCfg.mods.global.timezone; - var parsedDate = null; - if (isDateGmlFormat(date)) { - parsedDate = moment(date, "YYYY-MM-DDtHH-mm-SSSZ"); - } else { - parsedDate = moment(date); - } + var isDateTimeFormat = date.includes("T"); + var settingAllowToUseFromNow = gnGlobalSettings.gnCfg.mods.global.humanizeDates; + var timezone = gnGlobalSettings.gnCfg.mods.global.timezone; + var parsedDate = moment(date); + if (parsedDate.isValid()) { - if (!!timezone) { + if (!!timezone && isDateTimeFormat) { parsedDate = parsedDate.tz( timezone === "Browser" ? moment.tz.guess() : timezone ); } - var fromNow = parsedDate.fromNow(); if (date.length === 4) { - format = "YYYY"; - } + format = "YYYY"; // Year only format + } // Otherwise defaults to the format provided as input + + var fromNow = parsedDate.fromNow(); + if (settingAllowToUseFromNow && contextAllowToUseFromNow) { return { - value: fromNow, - title: format ? parsedDate.format(format) : parsedDate.toString() + title: format ? parsedDate.format(format) : parsedDate.toString(), + value: fromNow }; } else { return { - title: fromNow, + title: settingAllowToUseFromNow ? fromNow : date, value: format ? parsedDate.format(format) : parsedDate.toString() }; }