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