est-il possible à Golang d'incrémenter une date dans A pour une boucle par une variable de date donnée jusqu'à ce qu'il atteigne la date / heure actuelle.Mon () Je m'attends à ce que les tirages D sur toutes les dates (avec le temps, etc.) jusqu'à ce qu'il atteigne la date actuelle p> p>
4 Réponses :
Obtenez la condition de boucle droite et ..
Basé sur vos commentaires, vous devez le dire à Voici une version plus simple de votre code (i Utilisé un format de temps personnalisé, car je n'ai pas envie de modifier la syntaxe RFC, mais c'est finalement la même chose) = Je suis également itération du mois pour la brièveté. P> P> au format code> la date à quelque chose de valeur:
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse(time.RFC3339, "2018-07-19T12:25:10.8584224+02:00")
ct := time.Now()
for t.Before(ct) {
fmt.Println(t)
t.AddDate(0, 0, 1)
}
}
Selon Godoc: https://golang.org/pkg/time/#time .Day
Jour retourne le jour du mois spécifié par T. P> Donc, la comparaison de d.day () et du CC.day () n'est pas la bonne approche. Et si d'aujourd'hui est "2019-01-01", et que vous commencez le temps est "2018-12-23"? P> La bonne façon de comparer deux fois.time est https://golang.org/pkg/time/#time.après p> Après les rapports, que l'instant T est après u.
Avant de rapporter si le temps instantané t est avant U. P> La solution de @Alex Pliutau est donc plus utilisée. Mais besoin de plus prudent avec aujourd'hui. P> sortie: p> FUNC (Time) JOUR () INT CODE> P>
Oui. Avez-vous un problème avec ce code?
Oui, malheureusement, il n'imprime rien du tout