date.ts (view raw)
1export const getStartOfDay = (date: Date): Date =>
2 new Date(new Date(date).setHours(0, 0, 0, 0));
3
4export const getStartOfWeek = (date: Date): Date => {
5 const day = date.getDay();
6 const diff = date.getDate() - day + (day == 0 ? -6 : 1);
7 const startOfWeek = new Date(new Date(date).setDate(diff));
8 return getStartOfDay(startOfWeek);
9};
10
11export const getStartOfMonth = (date: Date): Date =>
12 getStartOfDay(new Date(date.getFullYear(), date.getMonth(), 1));
13
14export const isSameDate = (dateA: Date, dateB: Date): boolean => {
15 if (dateA.getDate() !== dateB.getDate()) return false;
16 else if (dateA.getMonth() !== dateB.getMonth()) return false;
17 else if (dateA.getFullYear() !== dateB.getFullYear()) return false;
18 else return true;
19};