Projekt

Obecné

Profil

Stáhnout (1.14 KB) Statistiky
| Větev: | Tag: | Revize:
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
}
(2-2/4)