vendredi 2 décembre 2016

Generating Random Timestamps in Go

I'd like to generate a random timestamp within the last relative 3 years and have it be printed out with this format: %d/%b/%Y:%H:%M:%S %z

Here is what I have right now:

package main

import (
    "strconv"
    "time"
    "math/rand"
    "fmt"
)

func randomTimestamp() time.Time {
    randomTime := rand.Int63n(time.Now().Unix() - 94608000) + 94608000

    randomNow, err := time.Parse("10/Oct/2000:13:55:36 -0700", strconv.FormatInt(randomTime, 10))
    if err != nil {
        panic(err)
    }

    return randomNow
}

func main() {
    fmt.Println(randomTimestamp().String())
}

This always throws: panic: parsing time "...": month out of range. How can I generate a random timestamp for a given range, then convert it to the string format I want with the standard library?




Aucun commentaire:

Enregistrer un commentaire