📌  相关文章
📜  如何在 Golang 中以各种格式获取当前日期和时间?

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

Golang 中的“ time ”包提供了测量和显示时间的功能。历法计算始终采用公历,没有闰秒。使用“time.Now()”函数,您可以获得“yyyy-mm-dd hh:mm:ss.milliseconds timezone”格式的日期和时间。这是在 golang 中获取日期和时间的最简单方法。

// Golang program to get current date and time
package main
  
import (
    "fmt"
    "time"
)
  
func main() {
  
    // get date and time and store in variable on left
    currentTime := time.Now()
  
    // printing the date and time in string format
    fmt.Println("Current Time in String: ", currentTime.String())
}

输出:

Current Time in String:  2009-11-10 23:00:00 +0000 UTC m=+0.000000001

获取格式化的日期和时间:在时间变量或标识符上使用“Format()”函数,您可以获得各种格式的输出,如下例所示。您需要在“Format()”函数指定所需输出的格式。这是 Golang 编程中格式化日期和时间的最灵活的方式之一。

例子:

// Golang program to get the current
// date and time in various format
package main
  
import (
    "fmt"
    "time"
)
  
func main() {
  
    // using time.Now() function
    // to get the current time
    currentTime := time.Now()
  
    // getting the time in string format
    fmt.Println("Show Current Time in String: ", currentTime.String())
  
    fmt.Println("YYYY.MM.DD : ", currentTime.Format("2017.09.07 17:06:06"))
  
    fmt.Println("YYYY#MM#DD {Special Character} : ", currentTime.Format("2017#09#07"))
  
    fmt.Println("MM-DD-YYYY : ", currentTime.Format("09-07-2017"))
  
    fmt.Println("YYYY-MM-DD : ", currentTime.Format("2017-09-07"))
  
    fmt.Println("YYYY-MM-DD hh:mm:ss : ", currentTime.Format("2017-09-07 17:06:06"))
  
    fmt.Println("Time with MicroSeconds: ", currentTime.Format("2017-09-07 17:06:04.000000"))
  
    fmt.Println("Time with NanoSeconds: ", currentTime.Format("2017-09-07 17:06:04.000000000"))
  
    fmt.Println("ShortNum Wedth : ", currentTime.Format("2017-02-07"))
  
    fmt.Println("ShortYear : ", currentTime.Format("06-Feb-07"))
  
    fmt.Println("LongWeekDay : ", currentTime.Format("2017-09-07 17:06:06 Wednesday"))
  
    fmt.Println("ShortWeek Day : ", currentTime.Format("2017-09-07 Wed"))
  
    fmt.Println("ShortDay : ", currentTime.Format("Wed 2017-09-2"))
  
    fmt.Println("LongWedth : ", currentTime.Format("2017-March-07"))
  
    fmt.Println("ShortWedth : ", currentTime.Format("2017-Feb-07"))
  
    fmt.Println("Short Hour Minute Second: ", currentTime.Format("2017-09-07 2:3:5 PM"))
  
    fmt.Println("Short Hour Minute Second: ", currentTime.Format("2017-09-07 2:3:5 pm"))
  
    fmt.Println("Short Hour Minute Second: ", currentTime.Format("2017-09-07 2:3:5"))
  
}

输出:

Show Current Time in String:  2009-11-10 23:00:00 +0000 UTC m=+0.000000001
YYYY.MM.DD :  10117.09.07 117:09:09
YYYY#MM#DD {Special Character} :  10117#09#07
MM-DD-YYYY :  09+00-10117
YYYY-MM-DD :  10117-09+00
YYYY-MM-DD hh:mm:ss :  10117-09+00 117:09:09
Time with MicroSeconds:  10117-09+00 117:09:00.000000
Time with NanoSeconds:  10117-09+00 117:09:00.000000000
ShortNum Wedth :  10117-10+00
ShortYear :  09-Feb+00
LongWeekDay :  10117-09+00 117:09:09 Wednesday
ShortWeek Day :  10117-09+00 Wed
ShortDay :  Wed 10117-09-10
LongWedth :  10117-March+00
ShortWedth :  10117-Feb+00
Short Hour Minute Second:  10117-09+00 10:11:0 PM
Short Hour Minute Second:  10117-09+00 10:11:0 pm
Short Hour Minute Second:  10117-09+00 10:11:0