Menambah Hari ke Tarikh dalam Go
Dalam Go, menentukan hari berikutnya pada tengah malam tarikh tertentu menimbulkan cabaran tertentu, terutamanya apabila berurusan dengan zon waktu yang mengalami perubahan masa penjimatan siang.
Untuk memastikan hasil yang tepat, pertimbangkan untuk menggunakan fungsi masa. Tarikh:
<code class="go">t2 := time.Date(givenDate.Year(), givenDate.Month(), givenDate.Day()+1, 0, 0, 0, 0, loc)</code>
Di mana loc mewakili zon waktu yang dikehendaki (masa.UTC dalam contoh disediakan). Pendekatan ini boleh dipercayai kerana masa.Tarikh mengambil kira zon waktu.
Sebagai alternatif, untuk meningkatkan kecekapan, anda boleh menyelaraskan kod:
<code class="go">y, m, d := givenDate.Date() t2 := time.Date(y, m, d+1, 0, 0, 0, 0, loc)</code>
masa.Tarikh mendapatkan semula komponen tarikh dalam panggilan tunggal, menghapuskan pengulangan kaedah individu yang tidak perlu seperti Time.Year().
Dokumentasi untuk time.Date dengan jelas menyatakan bahawa ia mengembalikan masa yang sepadan dengan tarikh dan masa tertentu dalam zon waktu yang ditentukan. Oleh itu, ia mengendalikan 0 nilai dengan tepat untuk jam, minit, saat dan nanosaat, memastikan masa yang terhasil berlaku pada tengah malam dalam zon waktu yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Hari Seterusnya dengan Tepat pada Tengah Malam di Go, Terutamanya Semasa Perubahan Waktu Penjimatan Siang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!