X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7178ac911e7b160c1348da404b5aa07b9829d3c8..6346a7c4c0cb5d7e8c5f01392b6cc64d329b68ec:/apps/workbench/app/assets/javascripts/dates.js diff --git a/apps/workbench/app/assets/javascripts/dates.js b/apps/workbench/app/assets/javascripts/dates.js index 4b90ab0a34..ed5f28431c 100644 --- a/apps/workbench/app/assets/javascripts/dates.js +++ b/apps/workbench/app/assets/javascripts/dates.js @@ -1,10 +1,29 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +jQuery(function($){ $(document).on('ajax:complete arv:pane:loaded ready', function() { $('[data-utc-date]').each(function(i, elm) { - var re = /(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d) UTC/; - var v = $(elm).attr('data-utc-date').match(re); + // Try matching the date using a couple of different formats. + var v = $(elm).attr('data-utc-date').match(/(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d) UTC/); + if (!v) { + v = $(elm).attr('data-utc-date').match(/(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z/); + } + if (v) { + // Create a new date object from the timestamp so the browser can + // render the date based on the locale/timezone. var ts = new Date(Date.UTC(v[1], v[2]-1, v[3], v[4], v[5], v[6])); - $(elm).text(ts.toLocaleTimeString() + " " + ts.toLocaleDateString()); + if ($(elm).attr('data-utc-date-opts') && $(elm).attr('data-utc-date-opts').match(/noseconds/)) { + $(elm).text((ts.getHours() > 12 ? (ts.getHours()-12) : ts.getHours()) + + ":" + (ts.getMinutes() < 10 ? '0' : '') + ts.getMinutes() + + (ts.getHours() >= 12 ? " PM " : " AM ") + + ts.toLocaleDateString()); + } else { + $(elm).text(ts.toLocaleTimeString() + " " + ts.toLocaleDateString()); + } } }); }); +});