From 85e10a6616ae3d61d36b133efb9928c6f1b148e3 Mon Sep 17 00:00:00 2001 From: ChiefChippy2 <45596322+ChiefChippy2@users.noreply.github.com> Date: Sun, 6 Aug 2023 17:57:18 +0200 Subject: [PATCH] fix(submissions.handler.ts): Calculate Time Difference Adding Z to a GMT timezone datetime string will automatically make it convert correctly. There's no need to do weird timezone adjustments this way. --- server/src/api/submissions/submissions.handler.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/server/src/api/submissions/submissions.handler.ts b/server/src/api/submissions/submissions.handler.ts index 40bf6c2..d087c5f 100644 --- a/server/src/api/submissions/submissions.handler.ts +++ b/server/src/api/submissions/submissions.handler.ts @@ -142,16 +142,12 @@ function sendCompletedRoomMessage( io.to(room.roomId).emit("chat-message", completedRoomMessage); } -function calculateTimeDifference(playerEnteredAt: Date, submittedAt: Date) { +function calculateTimeDifference(playerEnteredAt: string | Date, submittedAt: string | Date) { + const normalizedPlayerEnteredAt = typeof playerEnteredAt === 'string' ? playerEnteredAt.replace(/Z?$/, 'Z') : playerEnteredAt; + const normalizedSubmittedAt = typeof submittedAt === 'string' ? submittedAt.replace(/Z?$/, 'Z') : submittedAt; + const dateConvertedSubmissionTime = new Date(submittedAt); - let dateConvertedPlayerEnteredAt = new Date(playerEnteredAt); - const userTimezoneOffset = - dateConvertedPlayerEnteredAt.getTimezoneOffset() * 60000; - dateConvertedPlayerEnteredAt = new Date( - dateConvertedPlayerEnteredAt.getTime() + - userTimezoneOffset * Math.sign(userTimezoneOffset) - ); const timeDifference = dateConvertedSubmissionTime.getTime() -