]>
Commit | Line | Data |
---|---|---|
34c7f429 C |
1 | function isToday (d: Date) { |
2 | const today = new Date() | |
3 | ||
4 | return areDatesEqual(d, today) | |
5 | } | |
6 | ||
7 | function isYesterday (d: Date) { | |
8 | const yesterday = new Date() | |
9 | yesterday.setDate(yesterday.getDate() - 1) | |
10 | ||
11 | return areDatesEqual(d, yesterday) | |
12 | } | |
13 | ||
14 | function isThisWeek (d: Date) { | |
15 | const minDateOfThisWeek = new Date() | |
16 | minDateOfThisWeek.setHours(0, 0, 0) | |
17 | ||
18 | // getDay() -> Sunday - Saturday : 0 - 6 | |
19 | // We want to start our week on Monday | |
20 | let dayOfWeek = minDateOfThisWeek.getDay() - 1 | |
21 | if (dayOfWeek < 0) dayOfWeek = 6 // Sunday | |
22 | ||
23 | minDateOfThisWeek.setDate(minDateOfThisWeek.getDate() - dayOfWeek) | |
24 | ||
25 | return d >= minDateOfThisWeek | |
26 | } | |
27 | ||
28 | function isThisMonth (d: Date) { | |
29 | const thisMonth = new Date().getMonth() | |
30 | ||
31 | return d.getMonth() === thisMonth | |
32 | } | |
33 | ||
93aa8552 C |
34 | function isLastMonth (d: Date) { |
35 | const now = new Date() | |
36 | ||
37 | return getDaysDifferences(now, d) <= 30 | |
38 | } | |
39 | ||
40 | function isLastWeek (d: Date) { | |
41 | const now = new Date() | |
42 | ||
43 | return getDaysDifferences(now, d) <= 7 | |
44 | } | |
45 | ||
34c7f429 C |
46 | // --------------------------------------------------------------------------- |
47 | ||
48 | export { | |
49 | isYesterday, | |
50 | isThisWeek, | |
51 | isThisMonth, | |
93aa8552 C |
52 | isToday, |
53 | isLastMonth, | |
54 | isLastWeek | |
34c7f429 C |
55 | } |
56 | ||
57 | // --------------------------------------------------------------------------- | |
58 | ||
59 | function areDatesEqual (d1: Date, d2: Date) { | |
60 | return d1.getFullYear() === d2.getFullYear() && | |
61 | d1.getMonth() === d2.getMonth() && | |
62 | d1.getDate() === d2.getDate() | |
63 | } | |
93aa8552 C |
64 | |
65 | function getDaysDifferences (d1: Date, d2: Date) { | |
66 | return (d1.getTime() - d2.getTime()) / (86400000) | |
67 | } |