>백엔드 개발 >Golang >Go에서 Tar의 출력과 같은 비표준 타임스탬프를 어떻게 구문 분석하나요?

Go에서 Tar의 출력과 같은 비표준 타임스탬프를 어떻게 구문 분석하나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-19 13:26:32685검색

How to Parse Non-Standard Timestamps like Tar's Output in Go?

Go에서 날짜 구문 분석

Go에서 타임스탬프를 구문 분석하는 것은 특히 비표준 형식으로 작업할 때 어려울 수 있습니다. 그러한 시나리오 중 하나는 '2011-01-19 22:15'와 같이 tar에 의해 생성된 타임스탬프를 구문 분석하는 것과 관련됩니다.

time.Parse 함수를 사용하여 이 타임스탬프를 구문 분석하려는 초기 시도는 "parsing time" 오류 메시지와 함께 실패합니다. "2011-01-19 22:15": 월이 범위를 벗어났습니다." 이 오류는 time.Parse에서 사용하는 기본 시간 형식이 tar 타임스탬프와 다른 표준 형식을 예상하기 때문에 발생합니다.

이 문제를 해결하려면 Go time 패키지 문서에서 사용자 정의 날짜 정의에 대한 지침을 참조하세요. 형식. 문서에 따르면 표준 시간 형식은 "2006년 1월 2일 월요일 15:04:05 MST" 형식입니다. 사용자 정의 형식을 생성하려면 표준 형식의 요소를 원하는 형식의 해당 요소에 매핑하면 됩니다.

예를 들어 tar 타임스탬프 "2011-01-19 22:15"를 구문 분석하려면 다음을 사용하세요. 다음 코드:

import (
    "fmt"
    "time"
)

func main() {
    t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(time.SecondsToUTC(t.Seconds()))
}

출력:

Wed Jan 19 22:15:00 UTC 2011

이 사용자 정의 형식을 사용하면 time.Parse 함수는 tar 타임스탬프를 올바르게 구문 분석하고 UTC 형식의 동등한 time.Time 객체를 반환합니다.

위 내용은 Go에서 Tar의 출력과 같은 비표준 타임스탬프를 어떻게 구문 분석하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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