ymanager/webapp/src/app/services/util/date-tools.service.ts @ 484d37b9
1 |
import {Injectable} from '@angular/core'; |
---|---|
2 |
import {Time} from "@angular/common"; |
3 |
|
4 |
@Injectable({ |
5 |
providedIn: 'root' |
6 |
})
|
7 |
export class DateToolsService { |
8 |
constructor() { } |
9 |
|
10 |
/**
|
11 |
* Returns start of passed month
|
12 |
* @param date date
|
13 |
*/
|
14 |
toStartOfMonth(date: Date): Date { |
15 |
return new Date( |
16 |
date.getFullYear(), |
17 |
date.getMonth(), |
18 |
1, |
19 |
0, |
20 |
0, |
21 |
0, |
22 |
0
|
23 |
);
|
24 |
}
|
25 |
|
26 |
/**
|
27 |
* Returns end of passed month
|
28 |
* @param date date
|
29 |
*/
|
30 |
toEndOfMonth(date: Date): Date { |
31 |
return new Date( |
32 |
date.getFullYear(), |
33 |
date.getMonth() + 1, |
34 |
0, |
35 |
23, |
36 |
59, |
37 |
59, |
38 |
999
|
39 |
);
|
40 |
}
|
41 |
|
42 |
/**
|
43 |
* Creates Date from date and time
|
44 |
*
|
45 |
* @param date date in format YYYY/mm/dd
|
46 |
* @param time time
|
47 |
*/
|
48 |
toDate(date: string, time: string): Date { |
49 |
const splittedDate = date.split('/'); |
50 |
|
51 |
const result = new Date( |
52 |
Number(splittedDate[0]), |
53 |
Number(splittedDate[1]) - 1, |
54 |
Number(splittedDate[2]) |
55 |
);
|
56 |
|
57 |
if (time) { |
58 |
const splittedTime = time.split(':'); |
59 |
result.setHours(Number(splittedTime[0])); |
60 |
result.setMinutes(Number(splittedTime[1])); |
61 |
}
|
62 |
|
63 |
return result; |
64 |
}
|
65 |
}
|