Temps Unix

Temps UNIX #

// Un besoin courant des programmes, c'est d'obtenir le nombre de secondes, millisecondes ou nanosecondes depuis l'[heure Unix](https://fr.wikipedia.org/wiki/Heure_Unix)
// A common requirement in programs is getting the number
// of seconds, milliseconds, or nanoseconds since the
// [Unix epoch](http://en.wikipedia.org/wiki/Unix_time).
// Voici comment le faire en Go.

package main

import "fmt"
import "time"

func main() {

    // On utilise `time.Now` avec `Unix` ou `UnixNano` pour obtenir le temps écoulé depuis l'heure Unix en secondes ou en nanosecondes.
    now := time.Now()
    secs := now.Unix()
    nanos := now.UnixNano()
    fmt.Println(now)

    // A noter qu'il n'y a pas de `UnixMillis`, donc pour obtenir des millisecondes il faut faire la division soit même à partir des nanosecondes.
    millis := nanos / 1000000
    fmt.Println(secs)
    fmt.Println(millis)
    fmt.Println(nanos)

    // On peut aussi convertir des secondes ou des nanosecondes depuis l'heure Unix.
    fmt.Println(time.Unix(secs, 0))
    fmt.Println(time.Unix(0, nanos))
}
$ go run epoch.go 
2012-10-31 16:13:58.292387 +0000 UTC
1351700038
1351700038292
1351700038292387000
2012-10-31 16:13:58 +0000 UTC
2012-10-31 16:13:58.292387 +0000 UTC

# Ensuite, nous verrons une autre tâche liée au temps :
# parser et formatter des dates.