Go基础编程实践(三)—— 日期和时间

日期和时间

package main

import (
    "fmt"
    "time"
)

func main() {
    // 获取当前时间
    current := time.Now()
    // 格式化字符串输出
    fmt.Println(current.String())

    // Format函数格式化输出
    // 无论要格式化什么时间,"2006-01-02 15:04:05"这几个数字固定不变
    fmt.Println("MM-DD-YYYY: ", current.Format("01-02-2006"))
    fmt.Println("hh:mm:ss MM-DD-YYYY:", current.Format("15:04:05 01-02-2006"))
    fmt.Println("YYYY-DD-MM hh:mm:ss:", current.Format("2006-01-02 15:04:05"))

    // 添加日期
    // AddDate的三个参数依次为年、月、日
    currentAddDate := current.AddDate(-1, 1, 0)
    fmt.Println(currentAddDate)

    // 添加时间
    currentAdd := current.Add(10 * time.Minute)
    fmt.Println(currentAdd)

    // 获取时间差,利用Sub函数或者利用Add/AddDate函数增加负值
    // Date函数参数:年-月-日-时-分-秒-纳秒
    currentSub := current.Sub(time.Date(2000, 1, 1, 1, 1, 1, 0, time.UTC))
    // currentSub :=currentAdd.Sub(current)
    fmt.Println(currentSub)

    // 从字符串解析时间
    str := "2019-06-29T17:17:17.777Z"
    layout := "2006-01-02T15:04:05.000Z"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(t)

}
上一篇:【疑】poj 2773 Happy 2006 互素问题(★★☆☆☆)


下一篇:golang的time包管理