>백엔드 개발 >Golang >Go의 time.Now().UnixNano()를 밀리초로 변환하는 방법은 무엇입니까?

Go의 time.Now().UnixNano()를 밀리초로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-14 15:03:20961검색

How to Convert Go's time.Now().UnixNano() to Milliseconds?

Go의 time.Now().UnixNano()를 밀리초로 변환

Go 프로그래밍 언어는 time.Now()를 포함하여 시간 처리에 유용한 여러 함수를 제공합니다. UnixNano()는 나노초 정밀도로 현재 타임스탬프를 반환합니다. 그러나 밀리초 단위의 정밀도만 필요한 상황이 발생할 수 있습니다.

Go v1.17 이상용 솔루션

Go 버전 1.17 이상의 경우 time 패키지는 이를 단순화하는 두 가지 새로운 기능을 제공합니다. task:

  • time.Now().UnixMicro(): 마이크로초 정밀도로 타임스탬프를 반환합니다. (소수점 이하 6자리).
  • time.Now().UnixMilli(): 밀리초 정밀도(소수점 이하 3자리)로 타임스탬프를 반환합니다.

To 밀리초 타임스탬프를 얻으려면 간단히 UnixMilli()를 사용하세요. 방법:

timeMs := time.Now().UnixMilli()

Go v1.16 이하용 솔루션

Go 버전 1.16 이하의 경우 원하는 변환을 수동으로 달성할 수 있습니다. 밀리초는 1,000,000나노초와 동일하므로 나노초 타임스탬프를 1,000,000으로 나눌 수 있습니다.

timeMs := time.Now().UnixNano() / 1e6

이렇게 하면 소수점 이하 세 자리의 밀리초 타임스탬프가 제공됩니다.

이러한 접근 방식의 사용법을 보여주기 위해, 실행할 수 있는 예는 다음과 같습니다.

package main

import (
    "fmt"
    "time"
)

func main() {
    nanoTime := time.Now().UnixNano()
    microTime := time.Now().UnixMicro()
    milliTime := time.Now().UnixMilli()

    fmt.Println("Nano time:", nanoTime)
    fmt.Println("Micro time:", microTime)
    fmt.Println("Milli time:", milliTime)
}

이 코드를 실행하면 각각 나노초, 마이크로초, 밀리초 정밀도로 타임스탬프가 출력됩니다.

위 내용은 Go의 time.Now().UnixNano()를 밀리초로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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