diff --git a/src/prelude/time.ts b/src/prelude/time.ts index a65366d74a..34e8b6b17c 100644 --- a/src/prelude/time.ts +++ b/src/prelude/time.ts @@ -5,7 +5,17 @@ const dateTimeIntervals = { }; export function dateUTC(time: number[]): Date { - return new Date(Date.UTC(...time)); + const d = time.length === 2 ? Date.UTC(time[0], time[1]) + : time.length === 3 ? Date.UTC(time[0], time[1], time[2]) + : time.length === 4 ? Date.UTC(time[0], time[1], time[2], time[3]) + : time.length === 5 ? Date.UTC(time[0], time[1], time[2], time[3], time[4]) + : time.length === 6 ? Date.UTC(time[0], time[1], time[2], time[3], time[4], time[5]) + : time.length === 7 ? Date.UTC(time[0], time[1], time[2], time[3], time[4], time[5], time[6]) + : null; + + if (!d) throw 'wrong number of arguments'; + + return new Date(d); } export function isTimeSame(a: Date, b: Date): boolean {