Go 언어 time 알아보기

오늘은 Go 언어 기본 패키지에 포함되있는 time을 이용하여 시간을 간단히 출력해보려 합니다.

package main

import (
	"fmt"
	"time"
)

time 패키지로 시간을 구하고, fmt 패키지로 구한 시간을 출력합니다.

func main() {
	timeNow := time.Now()
	fmt.Println(timeNow)

자신의 위치를 기반한 현재 시간이 출력됩니다.

	fmt.Println(timeNow.Location())
	fmt.Println(timeNow.Weekday())

Local로 위치가 표기되며, 날짜도 출력할 수 있습니다.

	timeCustom := time.Date(2017, 12, 22, 12, 00, 00, 000000000, time.FixedZone("Asia/Seoul", 9*60*60))
	fmt.Println(timeCustom)

시간을 임의대로 구조체 형식으로 넣어서 변경된 시간을 만들 수 있습니다.

	fmt.Println(timeCustom.Location())
	fmt.Println(timeCustom.Weekday())

구조체로 만들어진 시간도 현재 시간과 동일하게 메소드를 사용할 수 있습니다.

	fmt.Println(timeCustom.Equal(timeNow))

현재 시간과 수정한 시간이 같은지 boolean으로 판별할 수 있습니다.

	diffTime := timeNow.Sub(timeCustom)
	fmt.Println(diffTime)

구조체로 넣은 시간과 현재 시간의 차이를 구할 수 있습니다.

	fmt.Println(timeCustom.Add(diffTime))
	fmt.Println(timeCustom.Add(diffTime).Equal(timeNow))
}

임의로 만든 시간에 아까 구한 시간들의 차이를 더해 현재 시간과 맞는지 확인합니다.

true라고 출력됩니다.

Written on November 5, 2018