Come posso calcolare il numero di giorni tra due date? Nel codice seguente dovrei ottenere il numero di ore, il che significa che dovrei solo dividere per 24. Tuttavia, il risultato che ottengo è qualcosa come -44929.000000. Sto solo guardando un giorno o due indietro così mi aspetterei 24 o 48 ore.Calcola il numero di giorni tra due date?
package main
import (
"fmt"
"time"
)
func main() {
timeFormat := "2006-01-02"
t, _ := time.Parse(timeFormat, "2014-12-28")
fmt.Println(t)
// duration := time.Since(t)
duration := time.Now().Sub(t)
fmt.Printf("%f", duration.Hours())
}
Ecco il codice eseguibile Go: http://play.golang.org/p/1MV6wnLVKh
Ouch. Lo sapevo. Non ho usato Go per un po '. Grazie. – h4labs
Questo dà ancora il risultato sbagliato quando si verificano cambiamenti dell'ora legale. a [Durata] (http://golang.org/pkg/time/#Duration) rappresenta solo il tempo trascorso tra due istanti come un conteggio int64 nanosecondo. Non può essere utilizzato direttamente per calcolare giorni senza errori due volte l'anno. Sospiro. –