Rumah > pembangunan bahagian belakang > Golang > Mengapa Penghuraian Zon Waktu My Go Sentiasa Mengembalikan UTC?

Mengapa Penghuraian Zon Waktu My Go Sentiasa Mengembalikan UTC?

Linda Hamilton
Lepaskan: 2024-12-01 01:23:14
asal
730 orang telah melayarinya

Why Does My Go Timezone Parsing Always Return UTC?

Memahami Penghuraian Zon Waktu dalam Go

Dalam Go, pengendalian zon waktu kadangkala boleh membawa kepada tingkah laku yang tidak dijangka. Mari kita mendalami isu biasa yang dihadapi semasa menghuraikan zon waktu menggunakan format masa tersuai.

Isu: Output Zon Waktu Konsisten Tanpa mengira Input

Coretan kod yang disediakan mentakrifkan fungsi parseAndPrint yang bertujuan untuk menghuraikan masa yang diwakili sebagai "05:00:00" dalam zon waktu tertentu dan kemudian mencetak hasilnya dalam UTC. Walau bagaimanapun, masa yang terhasil kekal tidak berubah, tanpa mengira zon waktu yang ditentukan, memaparkan "[tarikh] 05:00:00 0000 UTC" setiap kali.

Memahami Masalah

Punca utama terletak pada bagaimana masa dihuraikan menggunakan masa. Parse dalam fungsi parseAndPrint. Masa semasa diambil dengan masa.Now() dan dihantar sebagai hujah kepada masa. Parse, yang mentafsir rentetan input mengikut singkatan zon waktu yang ditentukan.

Walau bagaimanapun, penghuraian dilakukan dalam zon waktu tempatan sistem , bukan zon waktu yang dikehendaki ditentukan. Percanggahan ini membawa kepada penghuraian yang salah dan output yang konsisten dalam UTC, tanpa mengira zon waktu yang dimaksudkan.

Penyelesaian: Pengendalian Zon Waktu yang Betul

Untuk mengendalikan zon waktu dengan betul, adalah penting untuk menghuraikan perwakilan rentetan bagi masa dalam zon waktu yang ditentukan menggunakan masa yang betul. Contoh lokasi. Ini melibatkan langkah berikut:

  • Muat zon waktu yang diingini daripada pangkalan data zon waktu menggunakan masa.LoadLocation.
  • Buat masa. Objek masa untuk zon waktu itu menggunakan masa.ParseInLocation.
  • Tukar masa kepada UTC menggunakan test.UTC().

Dengan menggabungkan pendekatan ini, kod akan menghuraikan dan mencetak masa yang disediakan dengan betul dalam zon waktu yang dikehendaki, mengambil kira perbezaan masa antara zon waktu.

Atas ialah kandungan terperinci Mengapa Penghuraian Zon Waktu My Go Sentiasa Mengembalikan UTC?. 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