[go] Go 언어의 시간과 날짜 다루기

Go 언어는 시간과 날짜를 다루는 데에 매우 강력한 기능을 제공합니다. 이 기능을 사용하여 시간과 날짜를 쉽게 조작하고 형식화할 수 있습니다. 이번 글에서는 Go 언어를 사용하여 시간과 날짜를 어떻게 다루는지 알아보겠습니다.

시간 형식 지정자

Go 언어에서는 시간을 형식화하는 데 사용할 수 있는 여러 가지 지정자가 있습니다. 몇 가지 주요한 지정자에 대해 알아보겠습니다.

이러한 지정자를 사용하여 시간을 원하는 형식으로 표시할 수 있습니다.

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 언어의 시간과 날짜 다루기에 대해 알아본 글을 마칩니다. 감사합니다.