Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Golang time - time zone showing twice

Tags:

time

go

On running this code the result should show date time and zone

Surprisingly the result shows time zone twice and am not able to figure out why

package main

import (
    "fmt"
    "time"
)

func main() {

    mytime, _ := time.Parse("02/Jan/2006:15:04:05 -0700", "07/Apr/2017:01:26:05 +0530")

    fmt.Println(mytime)

}

Output of this is

2017-04-07 01:26:05 +0530 +0530

So my question is why timezone showing twice ?

like image 531
Tahseen Avatar asked Apr 06 '17 20:04

Tahseen


1 Answers

The fmt.Println invokes the Time's .String() function that returns the time in the following format:

"2006-01-02 15:04:05.999999999 -0700 MST"

Which as you see contains both the timezone offset and the timezone name.

In your case there is no timezone name known for the time, so it outputs the offset twice.

References:

  • https://golang.org/pkg/time/#Time.String
like image 178
zerkms Avatar answered Nov 13 '22 15:11

zerkms