time

import "time"

时间基础单位

time 中使用一个函数表示时间单位

  • time.Nanosecond : 纳秒
  • time.Millisecond : 毫秒
  • time.Second : 秒
  • time.Minute :分钟
  • time.Hour : 小时
package main

import "fmt"
import "time"

func main(){

    fmt.Println(time.Nanosecond)
    fmt.Println(time.Millisecond)
    fmt.Println(time.Second)
    fmt.Println(time.Minute)
    fmt.Println(time.Hour)
}

go run

1ns
1ms
1s
1m0s
1h0m0s

时间转换

对于一个已知的时间 T,可以转换其他单位的时间

可以转换的时间有:

  • T.Nanoseconds() :纳秒
  • T.Microseconds() : 微秒
  • T.Milliseconds() : 毫秒
  • T.Seconds() : 秒
  • T.Minutes() :分钟
  • T.Hours() : 小时
package main

import "fmt"
import "time"

func main(){

    T :=  12345 * time.Second

    fmt.Println(T.Nanoseconds())
    fmt.Println(T.Microseconds())
    fmt.Println(T.Milliseconds())
    fmt.Println(T.Seconds())
    fmt.Println(T.Minutes())
    fmt.Println(T.Hours())
}

go run

12345000000000
12345000000
12345000
12345
205.75
3.4291666666666667

获取当前时间

package main

import "fmt"
import "time"

func main(){

    T := time.Now()
    fmt.Println(T)
    fmt.Println(T.Year())
    fmt.Println(T.Month())
    fmt.Println(T.Day())
    fmt.Println(T.Hour())
    fmt.Println(T.Minute())
    fmt.Println(T.Second())
    fmt.Println(T.Nanosecond())
    fmt.Println(T.Weekday())
}

go run

2021-04-28 15:01:47.082562709 +0800 CST m=+0.000034421
2021
April
28
15
1
47
82562709
Wednesday

定时器

首先瞬间打印出 tchan ,但是他是一个 channel 信息,说明 time.After 的过程是不阻塞的

然后等待3S,打印当前时间信息。

这种方式可以设计一个异步的计时器

package main

import "fmt"
import "time"

func main(){

    tchan := time.After(time.Second * 3)
    fmt.Println(tchan)
    fmt.Println(<-tchan)
}

go run

0xc00006c180 
// 等待 3 秒
2021-04-28 15:09:40.785467031 +0800 CST m=+3.000189649

持续时间

package main

import "fmt"
import "time"

func main(){
    seconds := 10
    fmt.Print(time.Duration(seconds)*time.Second) // prints 10s
}

go run

10s

参考

https://golang.org/pkg/time/

Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2023-07-24 22:40:53
鼓励一下

results matching ""

    No results matching ""