Bagaimana untuk Mendapatkan Permulaan Hari Tempatan di Go?

Patricia Arquette
Lepaskan: 2024-11-11 02:47:03
asal
538 orang telah melayarinya

 How to Get the Local Start of Day in Go?

Mencari Permulaan Hari Tempatan

Untuk mendapatkan semula objek masa permulaan hari tempatan, pendekatan biasa ialah mengekstrak komponen tahun, bulan dan hari serta bina semula tarikh. Walau bagaimanapun, adakah terdapat fungsi yang lebih ortodoks yang disediakan oleh perpustakaan standard?

Coretan berikut menunjukkan fungsi Bod tersuai yang melaksanakan tugas ini:

func Bod(t time.Time) time.Time {
    year, month, day := t.Date()
    return time.Date(year, month, day, 0, 0, 0, 0, t.Location())
}
Salin selepas log masuk

Sementara fungsi Bod menentukan setempat dengan betul mulai hari ini, fungsi Truncate, yang dicadangkan sebagai alternatif, memberikan hasil yang berbeza. Untuk meneliti perkara ini, pertimbangkan kod berikut:

chicago, err := time.LoadLocation("America/Chicago")
if err != nil {
    fmt.Println(err)
    return
}
now := time.Now().In(chicago)
fmt.Println(Bod(now))
fmt.Println(Truncate(now))
Salin selepas log masuk

Kod ini menjana output berikut:

2014-08-11 00:00:00 -0400 EDT
2014-08-11 20:00:00 -0400 EDT
Salin selepas log masuk

Ia menjadi jelas bahawa kaedah Truncate beroperasi pada masa UTC, manakala fungsi Bod mengekalkan waktu tempatan (Chicago). Selain itu, Truncate menganggap hari 24 jam yang berterusan, yang tidak tepat untuk lokasi seperti Chicago yang mengalami variasi masa penjimatan siang.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Permulaan Hari Tempatan di 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