Time.Parse가 시간대 정보를 사용하지 않음
Q: time.Parse가 시간대 정보를 활용하지 않는 이유는 무엇입니까? 다양한 시간대에 대해 고유한 시간 값을 생성해야 합니다.
제공된 예제 코드에서 time.Parse 함수는 두 개의 타임스탬프 "2018-05-11 IST" 및 "2018-05를 구문 분석하는 데 사용됩니다. -11 UTC", "2006-01-02 MST" 레이아웃 사용. 그러나 출력에서는 두 타임스탬프의 결과가 동일한 Unix 시간임을 보여줍니다.
Output: 1525996800 1525996800
IST와 UTC의 시간 오프셋이 다르기 때문에 이는 말이 되지 않습니다.
A: 모호한 시간대 약어 및 제로 오프셋
이 문제의 근본 원인은 시간의 모호한 시간대 약어입니다.구문 분석. 특히, 주어진 시간대 약어에 대해 알려진 오프셋이 없는 경우 time.Parse는 동일한 약어와 제로 오프셋을 갖는 시간대를 가정합니다.
제공된 예에서 "IST" 여러 시간대(인도, 아일랜드, 이스라엘 등)를 나타낼 수 있는 모호한 약어입니다. 따라서 time.Parse는 이를 오프셋이 0인 조작된 시간대로 해석하여 IST와 UTC 간의 실제 시간 차이를 효과적으로 무시합니다.
해결책: 숫자 시간대 오프셋 또는 Time.ParseInLocation() 사용
이 문제를 해결하려면 몇 가지 옵션이 있습니다. 사용 가능:
위 내용은 Go의 `time.Parse`가 시간대 정보를 올바르게 사용하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!