[go] Go 언어의 시간과 날짜 다루기
Go 언어는 시간과 날짜를 다루는 데에 매우 강력한 기능을 제공합니다. 이 기능을 사용하여 시간과 날짜를 쉽게 조작하고 형식화할 수 있습니다. 이번 글에서는 Go 언어를 사용하여 시간과 날짜를 어떻게 다루는지 알아보겠습니다.
시간 형식 지정자
Go 언어에서는 시간을 형식화하는 데 사용할 수 있는 여러 가지 지정자가 있습니다. 몇 가지 주요한 지정자에 대해 알아보겠습니다.
2006-01-02 15:04:05
: 년, 월, 일, 시, 분, 초 순서로 시간을 표시2006/01/02 03:04:05 PM
: 년, 월, 일, 시, 분, 초, 오전/오후 순서로 시간을 표시Mon Jan 2 15:04:05 2006
: 요일, 월, 일, 시, 분, 초, 년 순서로 시간을 표시
이러한 지정자를 사용하여 시간을 원하는 형식으로 표시할 수 있습니다.
package main
import (
"fmt"
"time"
)
func main() {
currentTime := time.Now()
fmt.Println(currentTime.Format("2006-01-02 15:04:05"))
fmt.Println(currentTime.Format("Mon Jan 2 15:04:05 2006"))
}
시간과 날짜 연산
Go 언어를 사용하여 시간과 날짜에 대한 다양한 연산을 수행할 수 있습니다. 예를 들어, 두 시간 사이의 차이를 계산하거나 시간에 일정한 시간을 더하거나 뺄 수 있습니다.
package main
import (
"fmt"
"time"
)
func main() {
start := time.Date(2022, time.July, 1, 0, 0, 0, 0, time.UTC)
end := time.Date(2022, time.July, 31, 0, 0, 0, 0, time.UTC)
difference := end.Sub(start)
fmt.Println("Difference:", difference)
newTime := start.AddDate(0, 0, 7)
fmt.Println("New time:", newTime.Format("2006-01-02"))
}
시간대 처리
Go 언어는 시간대를 처리하는 데 유용한 기능을 제공합니다. 시간대를 변환하거나 시간대 간의 시간을 계산하는 등 다양한 작업을 할 수 있습니다.
package main
import (
"fmt"
"time"
)
func main() {
loc, _ := time.LoadLocation("America/New_York")
nycTime := time.Now().In(loc)
fmt.Println("NYC Time:", nycTime.Format("2006-01-02 15:04:05"))
utcTime := time.Now().UTC()
fmt.Println("UTC Time:", utcTime.Format("2006-01-02 15:04:05"))
}
마무리
Go 언어를 사용하여 시간과 날짜를 다루는 방법에 대해 알아보았습니다. 시간 형식 지정, 연산, 시간대 처리 등의 기능을 사용하여 시간과 날짜를 쉽게 다룰 수 있습니다.
이러한 기능을 효율적으로 활용하면 다양한 애플리케이션에서 시간과 날짜를 다루는 데 도움이 될 것입니다.
참고 문헌: Go 언어 공식 문서
이상으로 Go 언어의 시간과 날짜 다루기에 대해 알아본 글을 마칩니다. 감사합니다.