UNPKG

1.93 kBJavaScriptView Raw
1module.exports = class GladDate {
2
3 constructor (moment, utcOffset = 0) {
4 this.utcOffset = utcOffset;
5 this.moment = moment;
6 }
7
8 monthsFromNow (months/*, iso*/) {
9 return this.moment().utcOffset(this.utcOffset).add(months, 'months').toDate();
10 }
11
12 weeksFromNow (weeks/*, iso*/) {
13 return this.moment().utcOffset(this.utcOffset).add(weeks, 'weeks').toDate();
14 }
15
16 daysFromNow (days/*, iso*/) {
17 return this.moment().utcOffset(this.utcOffset).add(days, 'days').toDate();
18 }
19
20 hoursFromNow (hours/*, iso*/) {
21 return this.moment().utcOffset(this.utcOffset).add(hours, 'hours').toDate();
22 }
23
24 minutesFromNow (minutes/*, iso*/) {
25 return this.moment().utcOffset(this.utcOffset).add(minutes, 'minutes').toDate();
26 }
27
28 secondsFromNow (seconds/*, iso*/) {
29 return this.moment().utcOffset(this.utcOffset).add(seconds, 'seconds').toDate();
30 }
31
32 startOfSecond (timestamp/*, iso*/) {
33 return this.moment(timestamp).utcOffset(this.utcOffset).milliseconds(0).toDate();
34 }
35
36 startOfMinute (timestamp/*, iso*/) {
37 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('minute').toDate();
38 }
39
40 startOfHour (timestamp/*, iso*/) {
41 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('hour').toDate();
42 }
43
44 startOfDay (timestamp/*, iso*/) {
45 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('day').toDate();
46 }
47
48 // Sunday
49 startOfWeek (timestamp/*, iso*/) {
50 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('week').toDate();
51 }
52
53 startOfMonth (timestamp/*, iso*/) {
54 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('month').toDate();
55 }
56
57 startOfQuarter (timestamp/*, iso*/) {
58 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('quarter').toDate();
59 }
60
61 startOfYear (timestamp/*, iso*/) {
62 return this.moment(timestamp).utcOffset(this.utcOffset).startOf('year').toDate();
63 }
64
65
66}