>백엔드 개발 >Golang >두 Go `time.Time` 개체 간의 차이를 어떻게 계산하고 형식을 지정할 수 있습니까?

두 Go `time.Time` 개체 간의 차이를 어떻게 계산하고 형식을 지정할 수 있습니까?

DDD
DDD원래의
2024-12-20 20:07:10680검색

How Can I Calculate and Format the Difference Between Two Go `time.Time` Objects?

time.Time 객체와의 시간 차이 계산

Go를 사용한 프로그래밍에서는 특정 시점을 나타내는 것이 중요합니다. time.Time 유형은 시간 관련 값을 조작하기 위한 기능을 제공합니다. 일반적인 작업 중 하나는 두 시점 간의 차이를 계산하는 것입니다.

두 time.Time 객체 간의 시간 차이를 얻으려면 time.Sub() 메서드를 활용할 수 있습니다. 결과는 time.Duration 값으로 표시됩니다.

time.Duration은 시간 차이를 수용하는 방식으로 형식을 지정합니다. 예:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    t2 := t1.Add(time.Second * 341)

    fmt.Println(t1)
    fmt.Println(t2)

    diff := t2.Sub(t1)
    fmt.Println(diff)
}

출력:

2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:05:41 +0000 UTC
5m41s

HH:mm:ss 형식의 시간을 원하는 경우 time.Time 값을 생성하고 해당 시간을 사용할 수 있습니다. Format() 메소드:

out := time.Time{}.Add(diff)
fmt.Println(out.Format("15:04:05"))

출력:

00:05:41

이것 이 접근 방식은 24시간 미만의 시차에 적합합니다. 그러나 시간이 며칠 이상 지속되는 경우 다음 질문에 제공된 함수와 같이 더 큰 시차를 수용하는 솔루션을 사용하는 것이 좋습니다.

  • golang time.Since() with 월 및 연도

위 내용은 두 Go `time.Time` 개체 간의 차이를 어떻게 계산하고 형식을 지정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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