oinume journal

Scratchpad of what I learned

Comparing datetime in Golang

https://play.golang.org/p/5-BtaE6iXaP

time.Before and time.After

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Date(2018, 1, 1, 10, 0, 0, 0, time.UTC)
    t2 := time.Date(2018, 1, 1, 11, 0, 0, 0, time.UTC)
    fmt.Printf("t1.Before(t2) = %v\n", t1.Before(t2)) // test "t2 - t1 > 0" --> true
    fmt.Printf("t2.Before(t1) = %v\n", t2.Before(t1)) // test "t1 - t2 > 0" --> false
    fmt.Printf("t2.After(t1) = %v\n", t2.After(t1))   // test "t1 - t2 < 0" --> true
    fmt.Printf("t1.After(t2) = %v\n", t1.After(t2))   // test "t2 - t1 < 0" --> false

    fmt.Printf("t1.Equal(t1) = %v\n", t1.Equal(t1)) // true
    fmt.Printf("t1.Equal(t2) = %v\n", t1.Equal(t2)) // false
}

time.Equal

You can use time.Equal to compare the time objects are exactly same.