I have an int64 like:

1502712864232

Which is the result of a REST GET to a service. I can convert it to a string easily enough. It is a Unixnano timestamp.

What I really need is to convert it to a string which is related to a timezone like "Europe/London". Such as:-

"14/08/2017, 13:14:24"

Would very much appreciate any assistance.

==> Update.

Thanks to @evanmcdonnal for such a useful answer. Much appreciated. Turns out that the data I had was not UnixNano at all (sorry) it was milliseconds from Epoch. Source is a Jenkins timestamp....

So... I wrote the following helper function to get what I need:

// Arg 1 is an int64 representing the millis since Epoch
// Arg 2 is a timezome. Eg: "Europe/London"
// Arg 3 is an int relating to the formatting of the returned string
// Needs the time package. Obviously.

func getFormattedTimeFromEpochMillis(z int64, zone string, style int) string {
    var x string
    secondsSinceEpoch := z / 1000
    unixTime := time.Unix(secondsSinceEpoch, 0)
    timeZoneLocation, err := time.LoadLocation(zone)
    if err != nil {
        fmt.Println("Error loading timezone:", err)
    }

    timeInZone := unixTime.In(timeZoneLocation)

    switch style {
        case 1:
            timeInZoneStyleOne := timeInZone.Format("Mon Jan 2 15:04:05")
            //Mon Aug 14 13:36:02
            return timeInZoneStyleOne
        case 2:
            timeInZoneStyleTwo := timeInZone.Format("02-01-2006 15:04:05")
            //14-08-2017 13:36:02
            return timeInZoneStyleTwo
        case 3:
            timeInZoneStyleThree := timeInZone.Format("2006-02-01 15:04:05")
            //2017-14-08 13:36:02
            return timeInZoneStyleThree
    }
    return x
}