解析日期的代码示例

本节的代码parseDate.go,分两部分讲解。

第一部分:

  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "path/filepath"
  6. "time"
  7. )
  8. func main() {
  9. var myDate string
  10. if len(os.Args) != 2 {
  11. fmt.Printf("Usage: %s date\n",
  12. filepath.Base(os.Args[0]))
  13. os.Exit(0)
  14. }
  15. myDate = os.Args[1]

第二部分:

  1. d,err := time.Parse("02 January 2006",myDate)
  2. if err == nil {
  3. fmt.Println("Full",d)
  4. fmt.Println("Time", d.Day(), d.Month(), d.Year())
  5. } else {
  6. fmt.Println(err)
  7. }
  8. }

如果你想要在月份和年之间加入”-“,只需要将格式“02 January 2006“改成“02 January-2006”即可。

执行parseDate.go你将得到下面的输出:

$ go run parseDate.go

usage: parseDate string

$ go run parseDate.go “12 January 2019”

Full 2019-01-12 00:00:00 +0000 UTC Time 12 January 2019