Maison > Article > développement back-end > Comment calculer avec précision le lendemain à minuit en Go, en particulier pendant les changements d'heure d'été ?
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!