Câu trả lời:
Sử dụng time.Now()
hàm và time.Format()
phương thức.
t := time.Now()
fmt.Println(t.Format("20060102150405"))
in ra 20110504111515
, hoặc ít nhất là nó đã làm một vài phút trước đây. (Tôi đang ở Giờ ban ngày miền Đông.) Có một số định dạng thời gian được xác định trước trong các hằng số được xác định trong gói thời gian.
Bạn có thể sử dụng time.Now().UTC()
nếu bạn muốn có UTC hơn múi giờ địa phương.
Kitchen
hằng số ( = "3:04PM"
)
Tất cả các phản hồi khác đều rất sai lầm đối với ai đó đến từ google và đang tìm kiếm "dấu thời gian đang hoạt động"! YYYYMMDDhhmmss không phải là "dấu thời gian".
Để có được "dấu thời gian" của một ngày đang đi (số giây từ tháng một năm 1970), hàm chính xác là .Unix () và nó thực sự trả về một số nguyên
Get current time as formatted string in Go?
. Hy vọng ai đó sẽ phê duyệt nó.
Để dễ đọc, tốt nhất nên sử dụng các hằng số RFC trong gói thời gian (tôi nghĩ)
import "fmt"
import "time"
func main() {
fmt.Println(time.Now().Format(time.RFC850))
}
Tuesday, 10-Nov-09 23:00:00 UTC
RFC3339 = "2006-01-02T15:04:05Z07:00"
play.golang.org/p/XmobwWSz5pN golang.org/pkg/time
Sử dụng các hàm time.Now () và time.Format () (như time.LocalTime () không còn tồn tại nữa kể từ Go 1.0.3)
t := time.Now()
fmt.Println(t.Format("20060102150405"))
Bản demo trực tuyến (với ngày cố định trong quá khứ trong sân chơi, đừng bận tâm)
s := "Actual time is: "+time.Now().String()
Tìm thêm thông tin trong bài này: Nhận ngày và giờ hiện tại ở định dạng khác nhau trong golang
Đây là một hương vị của các định dạng khác nhau mà bạn sẽ tìm thấy trong bài viết trước:
Như một tiếng vang cho phản hồi của @ Bactisme, cách người ta sẽ đi về việc lấy dấu thời gian hiện tại (ví dụ tính bằng mili giây) là:
msec := time.Now().UnixNano() / 1000000
Tài nguyên: https://gobyexample.com/epoch
https://golang.org/src/time/format.go được chỉ định Đối với thời gian phân tích cú pháp 15
được sử dụng cho Giờ, 04
được sử dụng trong vài phút, 05
trong vài giây.
Đối với phân tích gia 11
, Jan
, January
là trong nhiều tháng, 02
, Mon
, Monday
cho ngày của tháng, 2006
năm và tất nhiên MST
cho khu vực
Nhưng bạn có thể sử dụng bố cục này là tốt, mà tôi thấy rất đơn giản. "Mon Jan 2 15:04:05 MST 2006"
const layout = "Mon Jan 2 15:04:05 MST 2006"
userTimeString := "Fri Dec 6 13:05:05 CET 2019"
t, _ := time.Parse(layout, userTimeString)
fmt.Println("Server: ", t.Format(time.RFC850))
//Server: Friday, 06-Dec-19 13:05:05 CET
mumbai, _ := time.LoadLocation("Asia/Kolkata")
mumbaiTime := t.In(mumbai)
fmt.Println("Mumbai: ", mumbaiTime.Format(time.RFC850))
//Mumbai: Friday, 06-Dec-19 18:35:05 IST