"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go에서 특정 시간대를 사용하여 시간 문자열을 구문 분석하는 방법은 무엇입니까?

Go에서 특정 시간대를 사용하여 시간 문자열을 구문 분석하는 방법은 무엇입니까?

2024년 11월 15일에 게시됨
검색:543

How to Parse a Time String with a Specific Time Zone in Go?

특정 시간대를 사용하여 시간 구문 분석

time.ParseTime()을 사용하여 문자열에서 시간 구조를 가져올 수 있습니다. 입력 문자열의 형식을 지정하는 인수로 레이아웃 문자열을 사용합니다. 레이아웃 문자열은 입력 문자열의 형식과 정확히 일치해야 합니다.

시간대를 포함하는 시간 문자열을 구문 분석해야 하는 경우 time.ParseInLocation()을 사용할 수 있습니다. 이 함수는 레이아웃 문자열과 위치를 인수로 사용합니다. 위치는 time.Location 값이거나 시간대 이름을 나타내는 문자열일 수 있습니다.

예를 들어 다음 코드는 시간대를 포함하는 시간 문자열을 구문 분석합니다.

import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00  0000 CEST"

    t, err := time.ParseInLocation(layout, timeStr, time.Local)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(t)
}

이 코드는 다음 출력을 인쇄합니다.

2012-07-09 05:02:00  0000 CEST

time.ParseInLocation() 함수는 시간을 구문 분석합니다. 레이아웃 문자열과 지정된 위치에 따른 문자열입니다. 이 경우 레이아웃 문자열은 "2006-01-02 15:04"이고 위치는 "CEST"입니다. time.ParseInLocation() 함수는 구문 분석된 시간을 나타내는 time.Time 값을 반환합니다.

위치를 지정하지 않으면 time.ParseInLocation() 함수는 현지 시간대를 사용합니다. 이는 구문 분석된 시간이 현지 시간대로 변환된다는 의미입니다.

시간을 생성하여 이를 방지할 수 있습니다.올바른 시간과 시간대가 포함된 시간 값:

import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00"
    const timeZone = "CEST"

    pz, err := time.LoadLocation(timeZone)
    if err != nil {
        fmt.Println(err)
        return
    }

    t, err := time.Parse(layout, timeStr)
    if err != nil {
        fmt.Println(err)
        return
    }

    T := t.In(pz)

    fmt.Println(T)
}

이 코드는 다음 출력을 인쇄합니다.

2012-07-09 05:02:00  0200 CEST

이 코드의 출력은 올바른 시간을 보여줍니다. 시간대.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3