From 85b4f63bc749622bf6ce6ba8546645b41dc78ab7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 23 Apr 2025 15:57:10 +0530 Subject: [PATCH] fix: get from to time in 24 hour format --- frontend/src/pages/Calendar.vue | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/frontend/src/pages/Calendar.vue b/frontend/src/pages/Calendar.vue index e0ddcbdf..5a033bfd 100644 --- a/frontend/src/pages/Calendar.vue +++ b/frontend/src/pages/Calendar.vue @@ -199,6 +199,8 @@ function editDetails(e) { } function showNewModal(e) { + let [fromTime, toTime] = getFromToTime(e.time) + showModal.value = true event.value = { title: '', @@ -210,4 +212,36 @@ function showNewModal(e) { eventType: 'Public', } } + +// utils +function getFromToTime(time) { + let fromTime = '00:00' + let toTime = '01:00' + + if (time.toLowerCase().includes('am') || time.toLowerCase().includes('pm')) { + // 12 hour format + time = time.trim().replace(' ', '') + const ampm = time.slice(-2) + time = time.slice(0, -2) + let hour = time + + if (ampm === 'pm' && parseInt(hour) < 12) { + hour = parseInt(hour) + 12 + } else if (ampm === 'am' && hour == 12) { + hour = 0 + } + + fromTime = `${hour}:00` + toTime = `${parseInt(hour) + 1}:00` + } else { + // 24 hour format + time = time.split(':') + let [hour, minute] = time + + fromTime = `${hour}:${minute}` + toTime = `${parseInt(hour) + 1}:${minute}` + } + + return [fromTime, toTime] +}