📜  Golang 中的 time.Unix()函数示例

📅  最后修改于: 2021-10-25 02:09:02             🧑  作者: Mango

在 Go 语言中,时间包提供了确定和查看时间的功能。 Go 语言中的Unix()函数用于生成本地时间,该时间与 1970 年 1 月 1 日的 UTC 中规定的 Unix 时间相关。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。

句法:

func Unix(sec int64, nsec int64) Time

这里,“sec”是类型为 int64 的秒,“nsec”是同样类型为 int64 的纳秒。

注意:允许“nsec”超出范围 [0, 999999999] 是合理的。然而,并不是每个“秒”值都有一个等效的时间值,一个类似的值是 1<<63-1,这是最大的 int64 值。

返回值:它返回本地时间,相当于 1970 年 1 月 1 日的 UTC 中规定的 Unix 时间。

示例 1:

// Golang program to illustrate the usage of
// time.Unix() function
  
// Including main package
package main
  
// Importing fmt and time
import "fmt"
import "time"
  
// Calling main
func main() {
  
    // Calling Unix method with 275 seconds
    // and zero nanoseconds and also
    // printing output
    fmt.Println(time.Unix(275, 0).UTC())
  
    // Calling Unix method with 0 seconds and
    // 566 nanoseconds and also printing
    // output
    fmt.Println(time.Unix(0, 566).UTC())
  
    // Calling Unix method with 456 seconds and
    // -67 nanoseconds and also printing
    // output
    fmt.Println(time.Unix(456, -67).UTC())
}

输出:

1970-01-01 00:04:35 +0000 UTC
1970-01-01 00:00:00.000000566 +0000 UTC
1970-01-01 00:07:35.999999933 +0000 UTC

示例 2:

// Golang program to illustrate the usage of
// time.Unix() function
  
// Including main package
package main
  
// Importing fmt and time
import "fmt"
import "time"
  
// Calling main
func main() {
  
    // Calling Unix method with 2e1 seconds
    // and zero nanoseconds and also
    // printing output
    fmt.Println(time.Unix(2e1, 0).UTC())
  
    // Calling Unix method with 0 seconds and
    // 1e13 nanoseconds and also printing
    // output
    fmt.Println(time.Unix(0, 1e13).UTC())
  
    // Calling Unix method with 1e1 seconds and
    // -1e15 nanoseconds and also printing
    // output
    fmt.Println(time.Unix(1e1, -1e15).UTC())
}

输出:

1970-01-01 00:00:20 +0000 UTC
1970-01-01 02:46:40 +0000 UTC
1969-12-20 10:13:30 +0000 UTC

此处,上述代码中所述的 Unix() 方法的参数具有包含常量“e”的值,该常量在转换时在通常范围内进行转换。