-3
votes

Pour la boucle pendant le temps. Maintenant () est atteint

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 () xxx

Je m'attends à ce que les tirages D sur toutes les dates (avec le temps, etc.) jusqu'à ce qu'il atteigne la date actuelle

go

2 commentaires

Oui. Avez-vous un problème avec ce code?


Oui, malheureusement, il n'imprime rien du tout


4 Réponses :


1
votes

Obtenez la condition de boucle droite et .. xxx

https: //play.golang.org/p/yrbtuzkfseg


0 commentaires

0
votes

Basé sur vos commentaires, vous devez le dire à au format la date à quelque chose de valeur: xxx

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é.


0 commentaires

0
votes
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)
    }
}

0 commentaires

1
votes

Selon Godoc: https://golang.org/pkg/time/#time .Day

FUNC (Time) JOUR () INT

Jour retourne le jour du mois spécifié par T.

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"?

La bonne façon de comparer deux fois.time est https://golang.org/pkg/time/#time.après xxx < / Pré>

Après les rapports, que l'instant T est après u. Avant de rapporter si le temps instantané t est avant U.

La solution de @Alex Pliutau est donc plus utilisée. Mais besoin de plus prudent avec aujourd'hui. xxx

sortie: xxx

https://play.golang.org/p/imr7m5w9k4n


0 commentaires