Bagaimana Menghuraikan Rentetan Masa dengan Zon Waktu Tertentu dalam Go?

Barbara Streisand
Lepaskan: 2024-10-24 18:03:02
asal
576 orang telah melayarinya

How to Parse a Time String with a Specific Time Zone in Go?

Menghuraikan Masa dengan Zon Waktu Tertentu

Anda boleh menggunakan masa.ParseTime() untuk mendapatkan struct masa daripada rentetan. Ia memerlukan rentetan susun atur sebagai hujah, yang menentukan format rentetan input. Rentetan reka letak mesti sepadan dengan format rentetan input dengan tepat.

Jika anda perlu menghuraikan rentetan masa yang merangkumi zon waktu, anda boleh menggunakan masa.ParseInLocation(). Fungsi ini mengambil rentetan reka letak dan lokasi sebagai hujah. Lokasi boleh menjadi masa. Nilai lokasi atau rentetan yang mewakili nama zon waktu.

Sebagai contoh, kod berikut menghuraikan rentetan masa yang merangkumi zon waktu:

<code class="go">import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00 +0000 CEST"

    t, err := time.ParseInLocation(layout, timeStr, time.Local)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(t)
}</code>
Salin selepas log masuk

Ini kod akan mencetak output berikut:

2012-07-09 05:02:00 +0000 CEST
Salin selepas log masuk

Fungsi time.ParseInLocation() akan menghuraikan rentetan masa mengikut rentetan reka letak dan lokasi yang ditentukan. Dalam kes ini, rentetan reka letak ialah "2006-01-02 15:04" dan lokasinya ialah "CEST". Fungsi time.ParseInLocation() akan mengembalikan masa.Nilai masa yang mewakili masa yang dihuraikan.

Jika anda tidak menentukan lokasi, fungsi time.ParseInLocation() akan menggunakan zon waktu setempat. Ini bermakna masa yang dihuraikan akan ditukar kepada zon waktu tempatan.

Anda boleh mengelakkan ini dengan mencipta masa.Nilai masa dengan zon masa dan masa yang betul:

<code class="go">import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00"
    const timeZone = "CEST"

    pz, err := time.LoadLocation(timeZone)
    if err != nil {
        fmt.Println(err)
        return
    }

    t, err := time.Parse(layout, timeStr)
    if err != nil {
        fmt.Println(err)
        return
    }

    T := t.In(pz)

    fmt.Println(T)
}</code>
Salin selepas log masuk

Ini kod akan mencetak output berikut:

2012-07-09 05:02:00 +0200 CEST
Salin selepas log masuk

Output kod ini menunjukkan masa dalam zon waktu yang betul.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Rentetan Masa dengan Zon Waktu Tertentu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!