Rumah >pembangunan bahagian belakang >Golang >Bagaimana Menghuraikan Cap Masa Bukan Standard seperti Output Tar dalam Go?

Bagaimana Menghuraikan Cap Masa Bukan Standard seperti Output Tar dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-12-19 13:26:32686semak imbas

How to Parse Non-Standard Timestamps like Tar's Output in Go?

Penghuraian Tarikh dalam Go

Menghuraikan cap masa dalam Go boleh menjadi satu cabaran, terutamanya apabila bekerja dengan format bukan standard. Satu senario sedemikian melibatkan penghuraian cap masa yang dijana oleh tar, seperti '2011-01-19 22:15'.

Percubaan awal untuk menghuraikan cap masa ini menggunakan masa.Fungsi parse gagal dengan mesej ralat "masa menghuraikan "2011-01-19 22:15": bulan di luar julat." Ralat ini berpunca daripada fakta bahawa format masa lalai digunakan oleh masa. Parse menjangkakan format standard yang berbeza daripada cap masa tar.

Untuk menyelesaikan isu ini, rujuk dokumentasi pakej masa Pergi untuk mendapatkan arahan tentang menentukan tarikh tersuai format. Menurut dokumentasi, format masa standard adalah dalam bentuk "Mon Jan 2 15:04:05 MST 2006". Untuk mencipta format tersuai, cuma petakan elemen format standard kepada elemen yang sepadan dalam format yang anda inginkan.

Sebagai contoh, untuk menghuraikan cap masa tar "2011-01-19 22:15", gunakan kod berikut:

import (
    "fmt"
    "time"
)

func main() {
    t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(time.SecondsToUTC(t.Seconds()))
}

Output:

Wed Jan 19 22:15:00 UTC 2011

Dengan format tersuai ini, masa.Fungsi Parse akan menghuraikan cap masa tar dengan betul dan mengembalikan masa yang setara. Objek masa dalam format UTC.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Cap Masa Bukan Standard seperti Output Tar dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn