Saya mencoba memformat waktu saat ini menggunakan format ini yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Itu menghasilkan:
yyyyMMddHHmmss
Ada saran?
Saya mencoba memformat waktu saat ini menggunakan format ini yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Itu menghasilkan:
yyyyMMddHHmmss
Ada saran?
Jawaban:
Menggunakan
fmt.Println(t.Format("20060102150405"))
karena Go menggunakan konstanta berikut untuk memformat tanggal, lihat di sini
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
)
Pertanyaan ini muncul di atas pencarian Google ketika Anda menemukan "format waktu saat ini golang" jadi, untuk semua orang yang ingin menggunakan format lain, ingatlah bahwa Anda selalu dapat menelepon ke:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Misalnya, untuk mendapatkan waktu tanggal saat ini sebagai "YYYY-MM-DDTHH: MM: SS" (misalnya 2019-01-22T12: 40: 55) Anda dapat menggunakan metode ini dengan 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())
Seperti biasa, ingatlah bahwa dokumen adalah sumber pembelajaran terbaik: https://golang.org/pkg/time/
Paket waktu di Golang memiliki beberapa metode yang mungkin menarik untuk dilihat.
func (Waktu) Format
func (t Time) Format (layout string) string Format mengembalikan representasi tekstual dari nilai waktu yang diformat menurut tata letak, yang mendefinisikan format dengan menunjukkan bagaimana waktu referensi,
Senin 2 Jan 15:04:05 -0700 MST 2006 akan ditampilkan jika itu adalah nilainya; ini berfungsi sebagai contoh keluaran yang diinginkan. Aturan tampilan yang sama kemudian akan diterapkan ke nilai waktu. Tata letak yang telah ditentukan ANSIC, UnixDate, RFC3339, dan lainnya menjelaskan representasi waktu referensi yang standar dan nyaman. Untuk informasi lebih lanjut tentang format dan definisi waktu referensi, lihat dokumentasi ANSIC dan konstanta lain yang ditentukan oleh paket ini.
Sumber ( http://golang.org/pkg/time/#Time.Format )
Saya juga menemukan contoh mendefinisikan tata letak ( 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)
}