[Go] set timezone

개발/Go 2016. 6. 28. 15:28
반응형

클라에서 서버로 시간값을 파라미터로 넘길때나, 서버의 경우 시간값을 상당히 중요시 하기 때문에,

특정 상황에 맞게 timezone변경을 하여야 한다.


외부 라이브러리를 사용하면 좀 더 깔끔하게 변환을 할 수 있겠지만,

귀찮은 관계로.. native 코드로 아래와 같이 구현을 할 수 있다.

아래 코드는 KST(한국시간 UTC+09:00)로 변환하는 과정을 설명하고 있다.

func main() {
    t := time.Now().UTC()    // UTC기준 현재 시간을 가져온다.
    t = t.In(time.FixedZone("KST", 9*60*60)) // 9시간을 더하고, KST라고 부른다.
    t.Format("2006-01-12 15:04:05")   // yyyy-MM-dd HH:mm:ss 형태로 formatting한다. (선택)
}


golang의 경우 따로 특정 타임존에 대한 템플릿이 없고, 위와 같이 만들어 낼 수가 있는 게 특이했고,

String Formatting도 다른 언어는 yyyy-MM-dd 이런식으로 패턴을 적어주어야 하는데, 그냥 숫자만 대충 넣어주면 알아서 바꿔준다.


반응형

'개발 > Go' 카테고리의 다른 글

[Go] func 가변인자(dynamic arguments) 전달  (0) 2016.06.28
[Go] XML Marshal / UnMarshal  (0) 2016.06.28
[Go] SyntaxHighlighter  (0) 2016.06.28
[Go] LumberJack for Logging  (0) 2016.06.28
[개발환경] Go + SubLimeText 3 + GoSublime  (0) 2016.06.11
,