I have the following code which takes a string as input which is converted into UNIX time stamp. I want to do the same in golang but I am not able to recognize the struct or
I believe the time
package has everything you need and it is IMO the best time library I've worked with in any language. Example:
package main
import(
"fmt"
"time"
)
func main(){
// this is how you parse a unix timestamp
t := time.Unix(1444902545, 0)
// get the UTC time
fmt.Println("The time converted to UTC:", t.UTC())
// convert it to any zone: FixedZone can take a utc offset and zone name
fmt.Println(t.In(time.FixedZone("IST", 7200)))
}
EDIT Converting the time object back to a unix timestamp is simple:
t.Unix()
or
t.UnixNano()
For example,
package main
import (
"fmt"
"time"
)
func TimeFromTicks(ticks int64) time.Time {
base := time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix()
return time.Unix(ticks/10000000+base, ticks%10000000).UTC()
}
func main() {
fmt.Println(TimeFromTicks(635804753769100000))
}
Output:
2015-10-15 03:09:36.0091 +0000 UTC