github.com/go-board/x-go@v0.1.2-0.20220610024734-db1323f6cb15/xtime/README.md (about)

     1  # XTime
     2  
     3  time 工具集
     4  
     5  ## parse 支持多种类型的parse
     6  
     7  go 默认的 `time.Parse` 需要指定对应的layout,导致使用起来不够便利,因此催生了 `xtime.ParseAny` 
     8  
     9  ``` go
    10  package main
    11  
    12  import (
    13      "time"
    14  
    15      "github.com/go-board/x-go/xtime"
    16  )
    17  
    18  func main() {
    19      // 标准库
    20      t, err := time.Parse(time.RFC3339, "2006-01-02T15:04:05Z07:00")
    21      println(t, err)
    22      // vs xtime
    23      t, err = xtime.ParseAny("2018/11/12")
    24      println(t, err)
    25  }
    26  ```
    27  
    28  ## duration 时间度量
    29  
    30  ``` go
    31  package main
    32  
    33  import (
    34      "github.com/go-board/x-go/xtime"
    35  )
    36  
    37  func main() {
    38      seconds := xtime.MeasureDuration(func () {
    39          // do lots of work
    40      })
    41      println(seconds)
    42  }
    43  ```
    44  
    45  ## relative time 相对时间计算
    46  
    47  ``` go
    48  package main
    49  
    50  import (
    51      "time"
    52  
    53      "github.com/go-board/x-go/xtime"
    54  )
    55  
    56  func main()  {
    57      xtime.StartOfDay(time.Now()) // 给定时间对应日期的开始时间
    58      xtime.EndOfDay(time.Now()) // 给定时间对应日期的结束时间
    59      xtime.StartOfToday() // 今天的开始时间
    60      xtime.EndOfToday() // 今天的结束时间
    61      xtime.UTC() // 当前UTC时间
    62      xtime.Local() // 当前的本地时间
    63      xtime.Yesterday() // 昨天
    64      xtime.Tomorrow() // 明天
    65      xtime.NowMillis() // 当前时间的毫秒单位
    66  }
    67  ```