时间和日期函数|Go笔记

223 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情

文章概览

  • 时间和日期相关函数
  • 内置函数

时间和日期相关函数

 在编写一个程序时,经常会有时间和日期的需求,Go语言中提供了时间和日期相关的函数,例如统计某段代码执行所花费的时间等。

注意事项

  • 时间和日期相关函数,需要导入time包。
  • time.Time类型表示时间。
  • 使用 now := time.now()来获取到当前的时间,now的类型就是time.Time。
  • 通过now可以获取到年月日,时分秒。

格式化日期时间

  • 方法一

    now = time.Now()
    fmt.Printf("当前年月日%02d-%02d-%02d %02d:%02d:%02d \n",
    now.Year(),now.Mohth(),now.Day(),
    now.Hour(),now.Minute(),now.Second())
    
  • 方法二

    fmt.Printf(now.Format("2006/01/02 15:04:05"))
    fmt.Println()
    fmt.Printf(now.Format("2006-01-02"))
    fmt.Println()
    fmt.Printf(now.Format("15:04:05"))
    fmt.Println()
    
  • "2006/01/02 15:04:05"这个字符串的各个数字是固定的,是go语言的诞生时间,这个字符串可以自由组合,可以按照程序需要来返回时间和日期。

时间的常量

conse (
    Nanosecond   =  1ns (纳秒)  
    Microsecond  =  1000 * Nanosecond   =  1 (微秒)
    Millisecond  =  1000 * Microsecond  =  1 (毫秒)
    Second       =  1000 * Millisecond  =  1 (秒)
    Minute       =  60   * Second       =  1 (分钟)
    Hour         =  60   * Minute       =  1 (小时)
)

常量的作用

 在程序中可以用于获取指定时间单位的时间,比如要得到100毫秒:100*time.Millisecond。

休眠

func Sleep(d Duration)

例子

time.Sleep(100*time.Millisecond)

获取当前unix时间戳和unixnano时间戳

unix时间戳与unixano时间戳

package main
 
import (
    "fmt"
    "time"
)
 
// MakeTimestamp returns the Unix timestamp in milliseconds
func MakeTimestamp() int64 {
    return time.Now().UnixNano() / int64(time.Millisecond)
}
 
func main() {
    i := MakeTimestamp()
    fmt.Println(i)
    return
}

Go内置函数

 为了我们使用方便,Go提供了一些可以直接使用的函数,即内置函数。

  • len:求长度,例如string、slice。
  • new:分配内存,主要用于值类型。
  • make:分配地址,主要用于引用类型。