Golang : Get local time and equivalent time in different time zone




Problem :

You want to show your website visitor the local time(on your server) and the equivalent time in another time zone. For example, KL(server time) and New York time.

Solution :

  1. Get local server time.
  2. Convert the local time to target timezone with time.In() function.

For example :

 package main

 import (
 "fmt"
 "time"
 )

 func main() {

 t := time.Now()

 fmt.Println("Location : ", t.Location(), " Time : ", t)

 // get the list of available time zones
 location, err := time.LoadLocation("America/New_York")

 if err != nil {
 fmt.Println(err)
 }

 fmt.Println("Location : ", location, " Time : ", t.In(location))
 }

Sample output :

Location : Local Time : 2015-07-30 16:39:28.158021072 +0800 MYT

Location : America/New_York Time : 2015-07-30 04:39:28.158021072 -0400 EDT

References :

http://golang.org/pkg/time/#Time.In

  See also : Golang : How to get time zone and load different time zone?





By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.


Advertisement