Rumah >pembangunan bahagian belakang >Golang >Format tarikh dalam Go

Format tarikh dalam Go

WBOY
WBOYke hadapan
2024-02-15 15:42:08763semak imbas

Go 中的日期格式

editor php Strawberry akan memperkenalkan kepada anda format tarikh dalam bahasa Go hari ini. Dalam bahasa Go, pemprosesan tarikh dan masa adalah sangat penting, dan pemformatan tarikh ialah salah satu operasi yang sering kami perlu lakukan. Bahasa Go menyediakan kaedah pemformatan tarikh yang mudah dan berkuasa yang boleh memenuhi pelbagai keperluan kami. Sama ada ia menukar tarikh kepada rentetan atau menghuraikan rentetan kepada tarikh, bahasa Go menyediakan fungsi dan kaedah yang sepadan untuk beroperasi. Seterusnya, mari kita ketahui tentang format tarikh dalam bahasa Go!

Kandungan soalan

Saya perlu memformat objek tarikh.masa (rentetan utc) ke dalam format berikut "dd/mm/yyyy hh:mm:ss". Saya perlu mengulangi pelbagai transaksi dan menukar statusdatetime setiap transaksi dalam tatasusunan.

Saya mencuba perkara berikut semasa mencuba format tetapi ia tidak mengubah format tarikh sama sekali.

for _, Transaction := range Transactions {
        Transaction.StatusDateTime.Format("2006-01-02T15:04:05")
    }

Apa salah saya?

Penyelesaian

Masalah ini agak mengelirukan. Biar saya pecahkan.

Saya perlu memformat objek date.time (rentetan utc) ke dalam format berikut "dd/mm/yyyy hh:mm:ss".

Pertama sekali, saya rasa anda maksudkan sesuatu seperti objek time.time 对象。 go 中没有 date.time.

Kedua, time.time objek ialah objek (contoh struct, anyway). Ia bukan "rentetan utc". Ia bukan tali sama sekali! Ia adalah nilai arbitrari yang disimpan dalam ingatan.

Kini, dengan memanggil kaedah format time.timeformat, anda berada di landasan yang betul. Tetapi seperti yang anda boleh lihat dengan membaca godoc kaedah, ia mengembalikan rentetan. Contoh kod anda mengabaikan (dan oleh itu membuang) nilai pulangan itu.

Anda perlu menetapkan nilai itu di suatu tempat dan kemudian mungkin melakukan sesuatu dengannya:

for _, Transaction := range Transactions {
    formatted := Transaction.StatusDateTime.Format("2006-01-02T15:04:05")
    fmt.Println("the formatted time is", formatted)
    /* Or store the formatted time somewhere, etc */
}

Saya mencuba yang berikut semasa mencuba format tetapi ia tidak mengubah format tarikh sama sekali.

Bukan untuk mengalahkan kuda mati di sini, tetapi anda betul, ini tidak mengubah format sama sekali...atau lebih tepat, time.time Tiada format yang boleh berubah No 1.

Atas ialah kandungan terperinci Format tarikh dalam Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam