diff --git a/checkTime.js b/checkTime.js index 30a6b1f..8b10ab0 100644 --- a/checkTime.js +++ b/checkTime.js @@ -1,32 +1,13 @@ -const { match } = require('assert') -const process = require('process') - -if (process.argv.length < 3) { - console.error('Invalid format. Expected HH:MM') - process.exit(69) -} - const startTimeString = process.argv[2] -const [startHours, startMinutes] = startTimeString.split(':').map(Number) +const [startDate, startMonth, startYear, startHours, startMinutes] = startTimeString.split(':').map(Number) -if ( - isNaN(startHours) || isNaN(startMinutes) || - startHours > 23 || startMinutes > 59 -) { - console.error('Invalid time format. Expected HH:MM format WITH VALID TIME') - process.exit(69) -} - -const startTime = new Date() -startTime.setHours(startHours, startMinutes, 0, 0) - -const targetTime = new Date(startTime.getTime() + 5 * 60 * 60 * 1000) // 5 hours after startTime -targetTime.setSeconds(0) // fixes the precise time, we don't want them -targetTime.setMilliseconds(0) +const targetTime = new Date() +targetTime.setUTCFullYear(startYear, startMonth - 1, startDate) +targetTime.setUTCHours(startHours + 5, startMinutes, 0, 0) const currentTime = new Date() -currentTime.setSeconds(0) -currentTime.setMilliseconds(0) +currentTime.setUTCSeconds(0) // we don't want precise time +currentTime.setUTCMilliseconds(0) if (currentTime.getTime() === targetTime.getTime()) { console.log('[checkTime] time matches, now exiting with status 0 to make another runtime') @@ -34,6 +15,6 @@ if (currentTime.getTime() === targetTime.getTime()) { } else { console.log('[checkTime] time doesn\'t match') console.log(`currentTime is ${currentTime}`) - console.log(`targetTiem is ${targetTime}`) + console.log(`targetTime is ${targetTime}`) process.exit(1) } diff --git a/loop.sh b/loop.sh index 1da22d4..77e645d 100755 --- a/loop.sh +++ b/loop.sh @@ -1,6 +1,6 @@ #!/bin/bash -START_TIME=$(date +"%H:%M") # the checkTime.js script uses local time +START_TIME=$(TZ=Etc/UTC date +"%d:%m:%Y:%H:%M") # the checkTime.js script uses local time GH_TOKEN=$2