Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menghuraikan Cap Masa dengan betul dalam Fungsi `time.Parse` Go?

Bagaimana untuk Menghuraikan Cap Masa dengan betul dalam Fungsi `time.Parse` Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-11 07:44:13281semak imbas

How to Correctly Parse a Timestamp in Go's `time.Parse` Function?

Penghuraian Tarikh dalam Go

Semasa cuba menghuraikan cap masa dalam format '2011-01-19 22:15', iaitu biasa digunakan oleh tar, pembangun mungkin menghadapi kesukaran menggunakan masa.Fungsi Parse. Artikel ini berusaha untuk memberikan penyelesaian kepada isu ini.

Coretan kod berikut menunjukkan percubaan yang tidak berjaya untuk menghuraikan cap masa menggunakan masa. Parse:

package main

import (
    "fmt"
    "time"
)

func main() {
    var time, error = time.Parse("2011-01-19 22:15", "2011-01-19 22:15")
    if error != nil {
        fmt.Println(error.String())
        return
    }
    fmt.Println(time)
}

Kod ini gagal dengan mesej ralat "'masa penghuraian "2011-01-19 22:15": bulan keluar julat'".

Penyelesaian terletak pada pemahaman sintaks dan semantik masa.Parse. Seperti yang dinyatakan dalam dokumentasi pakej masa Pergi, reka letak lalai yang digunakan dalam masa. Parse adalah berdasarkan format masa Unix standard:

"Isnin 2 Jan 15:04:05 MST 2006 (MST ialah GMT-0700) "

di mana:

  • Isnin, 2 Jan, 15, 04, 05 ialah nilai yang sepadan untuk Bulan, Hari, Hari Bulan, Jam, Minit dan Saat
  • MST ialah zon waktu yang diimbangi
  • 2006 ialah tahun

Untuk menentukan reka letak tersuai, pembangun perlu menentukan cara masa standard akan muncul dalam format yang mereka kehendaki. Sebagai contoh, untuk menghuraikan cap waktu '2011-01-19 22:15', coretan berikut boleh digunakan:

package main

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()))
}

Di sini, kami telah menentukan rentetan reka letak tersuai "2006-01-02 15 :04" untuk memadankan cap masa input. Hasilnya kemudian dicetak dalam format masa Unix.

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Cap Masa dengan betul dalam Fungsi `time.Parse` 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