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 중국어 웹사이트의 기타 관련 기사를 참조하세요!