[Golang] Time 패키지

JJeong·2021년 7월 19일
0

time 패키지는 시간을 표현하기 위한 Time 타입을 제공한다. 이것은 나노초 단위의 정밀도를 가진 구조체인데 아래 세 개 프로퍼티를 가진다.

type Time struct {
    wall uint64
    ext  int64
    loc *Location
}

Time을 생성하는 방법은 세 가지다. Now()는 현재 시간 기준으로 인스턴스를 만든다. 년, 월, 일 등 특정 시점 기준으로 생성하려면 Date() 함수를 사용한다. 마지막으로 Unix() 함수를 이용하면 유닉스 타임을 인자로 사용할 수 있다.

시간을 다양한 포맷의 문자열로 변경해야 하는 경우가 있다. Format() 메소드를 사용하면 YYYY-mm-DD HH:MM:SS 같은 형식의 문자열을 얻을 수 있다.

레이아웃 문자열은 출력 뿐만아니라 파싱할 때도 사용한다. 문자열을 Time으로 변환하는 Parse() 함수 시그니처를 보자.

layout 문자열과 파싱할 문자열 value를 전달하면 Time을 반환한다. 만약 파싱할 문자열이 layout과 일치하지 않을 경우 error를 반환한다.

s := "2019-01-12 12:30:00"
t, _ := time.Parse("2006-01-02 15:04:05", s)
fmt.Println(t) // 2019-01-12 12:30:00 +0000 UTC

0개의 댓글