Home > Backend Development > Golang > How to Parse Non-Standard Timestamps like Tar's Output in Go?

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

Susan Sarandon
Release: 2024-12-19 13:26:32
Original
737 people have browsed it

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

Date Parsing in Go

Parsing timestamps in Go can be a challenge, especially when working with non-standard formats. One such scenario involves parsing timestamps generated by tar, such as '2011-01-19 22:15'.

The initial attempt to parse this timestamp using the time.Parse function fails with the error message "parsing time "2011-01-19 22:15": month out of range." This error stems from the fact that the default time format used by time.Parse expects a standard format that differs from the tar timestamp.

To resolve this issue, consult the Go time package documentation for instructions on defining custom date formats. According to the documentation, the standard time format is in the form of "Mon Jan 2 15:04:05 MST 2006". To create a custom format, simply map the elements of the standard format to the corresponding elements in your desired format.

For instance, to parse the tar timestamp "2011-01-19 22:15", use the following code:

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()))
}
Copy after login

Output:

Wed Jan 19 22:15:00 UTC 2011
Copy after login

With this custom format, the time.Parse function will correctly parse the tar timestamp and return an equivalent time.Time object in UTC format.

The above is the detailed content of How to Parse Non-Standard Timestamps like Tar's Output in Go?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template