Random timestamp within last 3 relative years
As Darren H has said in the comments, just generate a random number between 0 and nanoseconds in three years, and subtract from time.Now():

const threeYears = 3 * 365 * 24 * time.Hour

func main() {
    rand.Seed(time.Now().UnixNano())
    d := time.Duration(rand.Int63n(int64(threeYears)))
    fmt.Println(time.Now().Add(-d))
}