Golang 시작 : "시간"
구문 분석 시간 문자열
exercism's go track 에서 실습을 완료하기 위해 시간
string
을 구문 분석할 때 문제가 발생했습니다.7/13/2020 20:32:00
구문 분석을 시도했지만 빈 값0001-01-01 00:00:00 +0000 UTC
으로 계속 시간이 걸립니다.맞춤 레이아웃
Go 언어에서는 유형이
Layout
인 패턴 기반string
으로 시간을 형식화하고 구문 분석합니다. gobyexample.com에서 기사를 읽을 수 있습니다.이것은 위의 문자열을 구문 분석하는 데 사용한 코드입니다.
date := "7/13/2020 20:32:00"
t, _ := time.Parse("01/02/2006 15:04:05", date)
fmt.Print(t)
// 0001-01-01 00:00:00 +0000 UTC
앞에 0이 있거나 없음
선행 0을 사용해서는 안 되는 날짜와 월을 구문 분석하기 위해 선행 0을 사용한 내 실수입니다. 코드를 다음과 같이 변경한 후 구문 분석에 성공했습니다.
t, _ := time.Parse("1/02/2006 15:04:05", date)
날짜, 월 등에 선행 0을 잘못 사용하면 잠재적인 버그가 발생할 수 있습니다. 따라서 시간을 포맷/파싱하기 위해
Layout
에서 선행 0을 사용해야 하는지 여부를 항상 고려해야 합니다.레이아웃 시간 표현 기억하기
Go는 다른 언어와 비교하여 시간 형식을 지정하기 위해 다른 시간 표현을 사용합니다. 다른 언어에서는 일반적으로
HH
또는 m
와 같은 시간 표현을 사용하여 월 또는 시간을 나타냅니다.이동 시간 표현은 다음과 같습니다.
대표
대표
1
또는 01
월
2
또는 02
데이트
15
시04
분05
초2006
년도07:00
시간 오프셋(시간대)문제는
time
를 사용할 때마다 해당 시간 표현을 검색해야 합니까? 아니면 그 기호를 기억하는 다른 방법이 있을까요?위의 표를 보면 1개의 예외를 제외하고 잘 알려진 시간 형식과 일치하는 패턴을 볼 수 있습니다. 아래 코드 블록은 시간 표현을 기억하는 방법을 보여줍니다.
// Well known time format
"Jan 02 2016 15:04:05+07:00"
// Move back the year, right before time offset / time zone.
"Jan 02 15:04:05 2016 +07:00"
// Changing to number presentation,
// will show a pattern of an incrementing numbers
"01 02 03:04:05 2016 +07:00"
참조
속성
Reference
이 문제에 관하여(Golang 시작 : "시간"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/marsonparulian/begin-golang-time-5acg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)