> 백엔드 개발 > Golang > Go에서 Unix 타임스탬프를 올바르게 구문 분석하는 방법은 무엇입니까?

Go에서 Unix 타임스탬프를 올바르게 구문 분석하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-29 21:25:10
원래의
507명이 탐색했습니다.

How to Correctly Parse Unix Timestamps in Go?

Go에서 Unix 타임스탬프 구문 분석

time.Parse 함수를 사용하여 Unix 타임스탬프를 time.Time 객체로 구문 분석하려고 할 때 개발자는 "범위를 벗어났습니다" 오류가 발생할 수 있습니다. 이 오류는 특히 Go 문서에 따라 제공된 레이아웃이 올바르게 나타날 때 혼란스러울 수 있습니다.

이 오류의 원인을 이해하려면 time.Parse가 Unix 타임스탬프를 처리하도록 설계되지 않았다는 점에 유의하는 것이 중요합니다. 대신 특정 형식의 시간 값을 나타내는 문자열을 전문적으로 구문 분석합니다.

올바른 접근 방식:

Unix 타임스탬프를 구문 분석하려면 strconv.ParseInt 함수를 사용하는 것이 좋습니다. 타임스탬프 문자열을 정수(int64) 표현으로 변환합니다. 그런 다음 이 정수를 time.Unix 함수와 함께 사용하여 지정된 타임스탬프를 나타내는 time.Time 객체를 생성할 수 있습니다.

package main

import (
    "fmt"
    "time"
    "strconv"
)

func main() {
    unixTimestamp, err := strconv.ParseInt("1405544146", 10, 64)
    if err != nil {
        panic(err)
    }

    timestamp := time.Unix(unixTimestamp, 0)
    fmt.Println(timestamp)
}
로그인 후 복사

이 코드는 Unix 타임스탬프 문자열을 올바르게 구문 분석하고 해당하는 time.Time 객체를 생성합니다. , 추가 작업이나 저장에 사용할 수 있습니다.

추가 참고:

32비트 시스템에서 잠재적인 정수 오버플로를 방지하려면 Unix 타임스탬프 구문 분석에 strconv.Atoi 대신 strconv.ParseInt를 사용하는 것이 좋습니다. strconv.ParseInt 함수는 더 넓은 범위의 정수 값을 지원하여 시스템 간 호환성을 보장합니다.

위 내용은 Go에서 Unix 타임스탬프를 올바르게 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿