go中time比较时需要注意写法

package main

import (

"fmt"

"time"

)

func main() {

format := "2006-01-02 15:04:05"

now := time.Now()

//now, _ := time.Parse(format, time.Now().Format(format))

a, _ := time.Parse(format, "2015-03-10 11:00:00")

b, _ := time.Parse(format, "2015-03-10 16:00:00")

fmt.Println(now.Format(format), a.Format(format), b.Format(format))

fmt.Println(now.After(a))

fmt.Println(now.Before(a))

fmt.Println(now.After(b))

fmt.Println(now.Before(b))

fmt.Println(a.After(b))

fmt.Println(a.Before(b))

fmt.Println(now.Format(format), a.Format(format), b.Format(format))

fmt.Println(now.Unix(), a.Unix(), b.Unix())

}

以上写法,比较结果不正确,换成注释中的写法,结果正确。

原因不太清楚,有人知道不?

有疑问加站长微信联系(非本文作者)