Tôi đang cố định dạng thời gian hiện tại bằng định dạng này yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Đó là đầu ra:
yyyyMMddHHmmss
Bất kỳ đề xuất?
Tôi đang cố định dạng thời gian hiện tại bằng định dạng này yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Đó là đầu ra:
yyyyMMddHHmmss
Bất kỳ đề xuất?
Câu trả lời:
Sử dụng
fmt.Println(t.Format("20060102150405"))
vì Go sử dụng các hằng số sau để định dạng ngày tháng, hãy tham khảo tại đây
const (
stdLongMonth = "January"
stdMonth = "Jan"
stdNumMonth = "1"
stdZeroMonth = "01"
stdLongWeekDay = "Monday"
stdWeekDay = "Mon"
stdDay = "2"
stdUnderDay = "_2"
stdZeroDay = "02"
stdHour = "15"
stdHour12 = "3"
stdZeroHour12 = "03"
stdMinute = "4"
stdZeroMinute = "04"
stdSecond = "5"
stdZeroSecond = "05"
stdLongYear = "2006"
stdYear = "06"
stdPM = "PM"
stdpm = "pm"
stdTZ = "MST"
stdISO8601TZ = "Z0700" // prints Z for UTC
stdISO8601ColonTZ = "Z07:00" // prints Z for UTC
stdNumTZ = "-0700" // always numeric
stdNumShortTZ = "-07" // always numeric
stdNumColonTZ = "-07:00" // always numeric
)
Câu hỏi này xuất hiện trong đầu tìm kiếm của Google khi bạn tìm thấy "định dạng thời gian hiện tại của golang", vì vậy, đối với tất cả những người muốn sử dụng định dạng khác, hãy nhớ rằng bạn luôn có thể gọi tới:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Ví dụ: để nhận ngày giờ hiện tại là "YYYY-MM-DDTHH: MM: SS" (ví dụ: 2019-01-22T12: 40: 55), bạn có thể sử dụng các phương pháp này với fmt.Sprintf:
t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
t.Year(), t.Month(), t.Day(),
t.Hour(), t.Minute(), t.Second())
Như mọi khi, hãy nhớ rằng tài liệu là nguồn học tập tốt nhất: https://golang.org/pkg/time/
Gói thời gian trong Golang có một số phương pháp có thể đáng xem.
Định dạng func (Thời gian)
func (t Time) Chuỗi định dạng (chuỗi bố cục) Định dạng trả về biểu diễn dạng văn bản của giá trị thời gian được định dạng theo bố cục, xác định định dạng bằng cách hiển thị thời gian tham chiếu,
Thứ Hai ngày 2 tháng 1 15:04:05 -0700 MST 2006 sẽ được hiển thị nếu đó là giá trị; nó phục vụ như một ví dụ về đầu ra mong muốn. Các quy tắc hiển thị tương tự sau đó sẽ được áp dụng cho giá trị thời gian. Các bố cục được xác định trước ANSIC, UnixDate, RFC3339 và các bố cục khác mô tả các biểu diễn chuẩn và thuận tiện của thời gian tham chiếu. Để biết thêm thông tin về các định dạng và định nghĩa thời gian tham chiếu, hãy xem tài liệu cho ANSIC và các hằng số khác được xác định bởi gói này.
Nguồn ( http://golang.org/pkg/time/#Time.Format )
Tôi cũng tìm thấy một ví dụ về xác định bố cục ( http://golang.org/src/pkg/time/example_test.go )
func ExampleTime_Format() {
// layout shows by example how the reference time should be represented.
const layout = "Jan 2, 2006 at 3:04pm (MST)"
t := time.Date(2009, time.November, 10, 15, 0, 0, 0, time.Local)
fmt.Println(t.Format(layout))
fmt.Println(t.UTC().Format(layout))
// Output:
// Nov 10, 2009 at 3:00pm (PST)
// Nov 10, 2009 at 11:00pm (UTC)
}