5

1.简介

Golang基础学习-time包的学习.

2.代码

package main

import (
    "time"
    "fmt"
)
const (
    //time format
    FormatDay      = "2006-01-02"
    FormatSecond   = "2006-01-02 15:04:05"
    FormatMinute   = "2006-01-02 15:04"
    FormatOnlyHour = "15:04"
)

func main() {
    //获取微妙
    fmt.Println(time.Microsecond)

    //获取月
    fmt.Println(time.Month(1))

    //当前时间
    fmt.Println(time.Now())
    fmt.Println(time.Now().String())
    //当前时间-小时
    fmt.Println(time.Now().Hour())

    //当前时间unix时间戳since 1970 -1- 1
    fmt.Println(time.Now().Unix())

    //当前时间unix时间戳(nanoseconds),since 1970 -1- 1,
    fmt.Println(time.Now().UnixNano())

    //当前时间加三个小时
    fmt.Println(time.Now().Add(time.Hour * 3))

    //时间戳转化成时间
    currentTime := time.Now().Unix()
    tm := time.Unix(currentTime, 0)
    fmt.Println(tm)
    
    //当前时间戳转成日期
    fmt.Println(time.Now().Format(FormatDay))
    fmt.Println(time.Now().Format(FormatSecond))
    fmt.Println(time.Now().Format(FormatMinute))
    fmt.Println(time.Now().Format(FormatOnlyHour))

    //日期转成时间戳
    timestamp, _ := time.Parse(FormatDay, "2019-12-13")

    fmt.Println(timestamp)        //标准时间格式
    fmt.Println(timestamp.Unix()) //时间戳

    //时区修改后获取时间戳;
    loc, _ := time.LoadLocation("Asia/Shanghai")
    t, _ := time.ParseInLocation(FormatDay, "2019-12-13", loc)
    fmt.Println(t)        //标准时间格式
    fmt.Println(t.Unix()) //时间戳
    
    
    
}

输出:

clipboard.png

函数详解:

1.time.Microsecond

clipboard.png

time.Microsecond: 从官网的解释可以看到,Microsecond是time包的一个常量。

1s= 1000*1000 * time.Microsecond

2.time.Month()

clipboard.png

可以看到 func(Month)String方法中

Month是int类型,该函数会返回英语月份"January", "February", ...

3.time.Now()

clipboard.png
time.Now()会返回一个结构体

clipboard.png

通过该结构体可以调用

1.time.Now().Hour() :返回当前时间的小时

2.time.Now().Unix():返回unix时间戳
3.time.Now().UnixNano():64位时间戳

4.time.Now().Add(time.Hour * 3):当前时间增加三小时

5.模拟时间戳转化成标准时间格式

    currentTime := time.Now().Unix()
    tm := time.Unix(currentTime, 0)

6.时间戳转成日期

const (
    //time format
    FormatDay      = "2006-01-02"
    FormatSecond   = "2006-01-02 15:04:05"
    FormatMinute   = "2006-01-02 15:04"
    FormatOnlyHour = "15:04"
)
  time.Now().Format(FormatDay)

7.日期转成时间戳

    timestamp, _ := time.Parse(FormatDay, "2019-12-13")
    fmt.Println(timestamp)        //标准时间格式
    fmt.Println(timestamp.Unix()) //时间戳

8.时区修改后获取时间戳

    loc, _ := time.LoadLocation("Asia/Shanghai")
    t, _ := time.ParseInLocation(FormatDay, "2019-12-13", loc)
    fmt.Println(t)        //标准时间格式
    fmt.Println(t.Unix()) //时间戳

3.学习资料

time包


wmm369
125 声望12 粉丝

< 笃信力行 >