Openstatus
www.openstatus.dev
1export function endOfDay(date: Date): Date {
2 // Create a new Date object to avoid mutating the original date
3 // const newDate = new Date(date);
4 const newDate = new Date(
5 Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()),
6 );
7
8 // Set hours, minutes, seconds, and milliseconds to end of day
9 newDate.setUTCHours(23, 59, 59, 999);
10
11 return newDate;
12}
13
14export function startOfDay(date: Date): Date {
15 // Create a new Date object to avoid mutating the original date
16 // const newDate = new Date(date);
17 const newDate = new Date(
18 Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()),
19 );
20
21 // Set hours, minutes, seconds, and milliseconds to start of day
22 newDate.setUTCHours(0, 0, 0, 0);
23
24 return newDate;
25}
26
27export function isSameDay(date1: Date, date2: Date) {
28 const newDate1 = startOfDay(date1);
29 const newDate2 = startOfDay(date2);
30
31 return newDate1.toUTCString() === newDate2.toUTCString();
32}