>백엔드 개발 >Golang >Go 언어에서 시간 처리 방법은 무엇입니까?

Go 언어에서 시간 처리 방법은 무엇입니까?

王林
王林원래의
2023-06-10 21:42:131531검색

Go 언어는 현대 프로그래밍 언어이며 개발에 있어 시간은 매우 중요한 역할을 합니다. Go 언어는 시간 처리를 더욱 편리하게 만들기 위해 몇 가지 내장된 시간 함수와 구조를 제공합니다. 이 기사에서는 Go 언어에서 일반적으로 사용되는 시간 처리 방법을 소개합니다.

  1. time.Now()

time.Now() 함수를 사용하여 현재 시간을 가져올 수 있습니다.

now := time.Now()
fmt.Println(now)

Output:

2019-06-13 14:30:10.12345 +0800 CST m=+0.000000001

보시다시피 출력 형식은 YYYY-MM-DD HH:mm:ss.nnnnnn +0800 CST m=+0.000000001,其中 YYYY 表示年,MM 表示月,DD 表示日,HH 表示小时,mm 表示分钟,ss 表示秒,nnnnnn 表示纳秒,+0800 表示时区,CST 表示时区名,m=+0.000000001 상대 시간을 나타냅니다. 는 1970년 1월 1일 0시부터의 거리입니다. 필요에 따라 필요한 시간 정보를 선택할 수 있습니다.

  1. Timestamp

Unix 타임스탬프는 1970년 1월 1일 0:00:00부터 현재까지의 초 수입니다. Go 언어에서는 time.Unix() 함수를 사용하여 초를 시간 유형으로 변환하거나 시간 유형을 사용하여 해당 타임스탬프를 얻을 수 있습니다.

현재 시간의 타임스탬프 가져오기:

now := time.Now().Unix()
fmt.Println(now)

출력:

1560425789

타임스탬프를 시간 유형으로 변환:

timestamp := 1560425789
t := time.Unix(timestamp, 0)
fmt.Println(t)

출력:

2019-06-13 14:43:09 +0800 CST
  1. 시간 형식 지정

Go 언어에서는 Format() 함수를 사용할 수 있습니다. 시간 유형을 문자열 유형으로 변환합니다. 특정 형식 지정 참조 문자를 정의함으로써 필요한 방식으로 시간을 표시할 수 있습니다.

예:

t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05"))

출력:

2019-06-13 14:50:11

"2006-01-02 15:04:05" 위 코드의 시간 형식 참조 문자이며 구체적인 의미는 다음과 같습니다.

2006:年
01:月
02:日
15:小时
04:分钟
05:秒
  1. 시간 덧셈과 뺄셈

Go 언어에서는 time.Add() 함수를 사용하여 시간을 더하고 뺄 수 있습니다. Add() 함수의 매개변수는 더하거나 뺄 시간 길이를 나타내는 Duration 유형입니다. 다음은 Add() 함수를 사용하여 시간을 더하고 빼는 일부 샘플 코드입니다.

예:

t := time.Now()
fmt.Println(t.Add(10 * time.Minute))
fmt.Println(t.Add(24 * time.Hour))

출력:

2019-06-13 15:07:34.877146776 +0800 CST m=+600.000277511
2019-06-14 14:57:34.877146776 +0800 CST
  1. 시차 계산

Go 언어에서는 time.Duration 유형을 사용하여 두 기간 간의 차이를 나타낼 수 있습니다. 다음은 Duration을 사용하여 시차를 계산하는 일부 샘플 코드입니다.

예:

t1 := time.Date(2019, time.June, 13, 12, 00, 55, 0, time.Local)
t2 := time.Date(2019, time.June, 13, 14, 20, 30, 0, time.Local)
diff := t2.Sub(t1)
fmt.Println(diff)

출력:

2h19m35s
  1. Timer

Go 언어에서는 time.Timer 유형을 사용하여 타이머를 만들고 채널을 사용하여 타이머의 트리거 이벤트를 가져올 수 있습니다. 아래는 간단한 예제 코드입니다.

예:

func test() {
    fmt.Println("test")
}

func main() {
    timer := time.NewTimer(time.Second * 2)
    <-timer.C
    test()
}

위 코드에서는 2초 타이머가 생성된 다음, 타이머.C 채널에서 이벤트를 읽고 마지막으로 test() 함수가 호출됩니다.

요약

이 기사에서는 현재 시간 가져오기, 타임스탬프, 시간 형식 지정, 시간 덧셈 및 뺄셈, 시차 계산 및 타이머 등을 포함하여 Go 언어에서 일반적으로 사용되는 시간 처리 방법을 소개합니다. 이러한 시간 관리 방법은 일상적인 개발에 매우 ​​중요하므로 가능한 한 빨리 마스터해야 합니다.

위 내용은 Go 언어에서 시간 처리 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.