Maison >développement back-end >Golang >Comment calculer avec précision le lendemain à minuit en Go, en particulier pendant les changements d'heure d'été ?

Comment calculer avec précision le lendemain à minuit en Go, en particulier pendant les changements d'heure d'été ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 20:08:03253parcourir

How to Accurately Calculate the Next Day at Midnight in Go, Especially During Daylight Saving Time Changes?

Ajouter des jours à une date dans Go

Dans Go, déterminer le lendemain à minuit d'une date donnée pose certains défis, surtout lorsque traitant des fuseaux horaires qui subissent des changements d'heure d'été.

Pour garantir des résultats précis, pensez à utiliser la fonction time.Date :

<code class="go">t2 := time.Date(givenDate.Year(), givenDate.Month(), givenDate.Day()+1, 0, 0, 0, 0, loc)</code>

Où loc représente le fuseau horaire souhaité (time.UTC dans le exemple fourni). Cette approche est fiable car time.Date prend en compte le fuseau horaire.

Alternativement, pour une efficacité améliorée, vous pouvez rationaliser le code :

<code class="go">y, m, d := givenDate.Date()
t2 := time.Date(y, m, d+1, 0, 0, 0, 0, loc)</code>

time.Date récupère les composants de date dans un appel unique, éliminant les répétitions inutiles de méthodes individuelles comme Time.Year().

La documentation de time.Date indique explicitement qu'elle renvoie une heure correspondant à une date et une heure spécifiques dans le fuseau horaire spécifié. Ainsi, il gère avec précision les valeurs 0 pour les heures, les minutes, les secondes et les nanosecondes, garantissant que l'heure résultante se produit à minuit dans le fuseau horaire souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn