From ad09230c5007b792d858021bf2058bc59898e547 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Wed, 3 Mar 2021 14:25:16 +0100 Subject: [PATCH] Show UTC info for deadline --- app/assets/javascripts/editor/evaluation.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/editor/evaluation.js b/app/assets/javascripts/editor/evaluation.js index cbcc688c..971e91ef 100644 --- a/app/assets/javascripts/editor/evaluation.js +++ b/app/assets/javascripts/editor/evaluation.js @@ -212,14 +212,33 @@ CodeOceanEditorEvaluation = { if (deadline !== undefined) { let li = document.createElement("li"); this.submission_deadline = new Date(deadline); + let deadline_text = I18n.l("time.formats.long", this.submission_deadline); + deadline_text += ` (${this.getUTCTime(this.submission_deadline, I18n.locale === 'en')})`; const bullet_point = I18n.t('exercises.editor.hints.' + translation_key, - { deadline: I18n.l("time.formats.long", this.submission_deadline), otherwise: otherwise }) + { deadline: deadline_text, otherwise: otherwise }) let text = $.parseHTML(bullet_point); $(li).append(text); return li; } }, + getUTCTime: function(d, use_am_pm) { + let hour = d.getUTCHours(); + const pm = hour >= 12; + let hour12 = hour % 12; + if (!hour12) { + hour12 += 12; + } + hour = hour.toLocaleString('en-US', {minimumIntegerDigits: 2, useGrouping: false}) + const minute = d.getUTCMinutes().toLocaleString('en-US', {minimumIntegerDigits: 2, useGrouping: false}) + const second = d.getUTCSeconds().toLocaleString('en-US', {minimumIntegerDigits: 2, useGrouping: false}) + if (use_am_pm) { + return `${hour12}:${minute}:${second} ${pm ? 'pm' : 'am'} UTC`; + } else { + return `${hour}:${minute}:${second} UTC`; + } + }, + initializeDeadlines: function () { const deadline = $('#deadline'); if (deadline) {