classes/JiraDateTime.psm1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class JiraDateTime {

    #####################
    # HIDDEN PROPERTIES #
    #####################

    

    #####################
    # PUBLIC PROPERTIES #
    #####################

    [datetime]
    $DateTime

    #####################
    # CONSTRUCTORS #
    #####################

    JiraDateTime(){
        $this.DateTime = Get-Date
    }

    JiraDateTime(
        [datetime]$DateTime
    ){
        $this.DateTime = $DateTime
    }

    #####################
    # HIDDEN METHODS #
    #####################

    

    #####################
    # PUBLIC METHODS #
    #####################

    [string]
    SimpleFormat(){
        return [JiraDateTime]::SimpleFormat($this.DateTime)
    }

    static
    [string]
    SimpleFormat(
        [datetime]$DateTime
    ){
        return Get-Date -Date $DateTime -Format "o"
    }

    [string]
    ComplexFormat(){
        return [JiraDateTime]::ComplexFormat($this.DateTime)
    }

    static
    [string]
    ComplexFormat(
        [datetime]$DateTime
    ){
        return ((Get-Date -Date $DateTime -Format "o") -replace "(.*):(.*)", '$1$2') -replace "(.*)(\.[0-9]{3})([0-9]{4})(.*)", '$1$2$4'
    }
}