title: How to properly parse timezone codes
body: <p>In the example bellow the result is always "[date] 05:00:00 +0000 UTC" regardless the timezone you choose for the parseAndPrint function. What is wrong with this code? The time should change depending on the timezone you choose. (Go Playground servers are apparently configured in UTC timezone).</p>
  
  <p><a href="http://play.golang.org/p/wP207BWYEd" rel="noreferrer">http://play.golang.org/p/wP207BWYEd</a></p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "time"
  )
  
  func main() {
      now := time.Now()
      parseAndPrint(now, "BRT")
      parseAndPrint(now, "EDT")
      parseAndPrint(now, "UTC")
  }
  
  func parseAndPrint(now time.Time, timezone string) {
      test, err := time.Parse("15:04:05 MST", fmt.Sprintf("05:00:00 %s", timezone))
      if err != nil {
          fmt.Println(err)
          return
      }
  
      test = time.Date(
          now.Year(),
          now.Month(),
          now.Day(),
          test.Hour(),
          test.Minute(),
          test.Second(),
          test.Nanosecond(),
          test.Location(),
      )
  
      fmt.Println(test.UTC())
  }
  </code></pre>