>백엔드 개발 >Golang >골랭 날짜 변환

골랭 날짜 변환

王林
王林원래의
2023-05-21 14:16:071158검색

Golang 날짜 변환

Golang에서는 날짜를 시간, 문자열, int64 등 다양한 방법으로 표현할 수 있습니다. 따라서 이러한 날짜를 변환하는 방법은 일반적인 질문입니다.

이 글에서는 Golang의 일반적인 날짜 변환 방법을 소개합니다. 여기에는 주로 다음과 같은 측면이 포함됩니다.

  1. time.Time에서 문자열로
  2. string에서 time.Time
  3. int64에서 time.Time
  4. time.Time에서 int64
  5. Date in other format
  6. time.Time에서 문자열로

time.Time 유형은 Format 함수를 사용하여 문자열로 변환할 수 있습니다. 예:

t := time.Now()
str := t.Format("2006-01-02 15:04:05") // 以指定格式转换为字符串

그 중 Format의 매개변수는 날짜 형식 문자열입니다. 구체적인 형식은 Golang 문서를 참조하세요.

  1. 문자열을 시간으로.Time

문자열을 시간으로.시간으로 time.Parse 함수를 사용할 수 있습니다. 예:

str := "2022-03-25 10:30:00"
t, err := time.Parse("2006-01-02 15:04:05", str) // 将字符串解析成时间
if err != nil {
    // 解析失败
}

그 중 첫 번째 매개변수는 날짜 형식 문자열이고, 두 번째 매개변수는 구문 분석해야 하는 문자열입니다. 구문 분석에 실패하면 err은 비어 있지 않습니다.

  1. int64에서 time.Time

Golang에서 타임스탬프는 일반적으로 int64 유형으로 표현되며, 이는 time.Unix 함수를 사용하여 time.Time 유형으로 변환될 수 있습니다. 예:

timestamp := int64(1648238400)
t := time.Unix(timestamp, 0) // 将时间戳转换成时间

여기서 첫 번째 매개변수는 타임스탬프이고 두 번째 매개변수는 나노초이며 0으로 설정할 수 있습니다.

  1. time.Time to int64

time.Time 유형은 Unix 함수를 사용하여 타임스탬프로 변환할 수 있습니다. 예:

t := time.Now()
timestamp := t.Unix() // 将时间转换成时间戳

이 함수는 int64 유형의 타임스탬프를 반환합니다.

  1. 다른 형식의 날짜 변환

다른 형식의 날짜를 time.Time 형식으로 변환해야 하는 경우 먼저 문자열 형식으로 변환한 후 time.Parse 함수를 사용하여 구문 분석하면 됩니다. 예:

date := "2022年03月25日 10时30分00秒"
layout := "2006年01月02日 15时04分05秒" // 对应日期格式字符串
str, err := time.Parse(layout, date) // 先将其转换成字符串
if err != nil {
    // 解析失败
}
t, err := time.Parse("2006-01-02 15:04:05", str.Format("2006-01-02 15:04:05")) // 再解析成时间
if err != nil {
    // 解析失败
}

위는 Golang에서 날짜를 변환하는 일반적인 방법입니다. time.Time을 문자열로 변환하든, 문자열을 time.Time으로 변환하든 Golang 표준 라이브러리의 함수를 통해 변환할 수 있습니다. 다른 형식의 날짜의 경우 먼저 문자열 유형으로 변환한 다음 time.Parse 함수를 사용하여 구문 분석할 수 있습니다.

위 내용은 골랭 날짜 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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