>백엔드 개발 >Golang >golang 날짜 유형 변환

golang 날짜 유형 변환

WBOY
WBOY원래의
2023-05-10 10:02:361747검색

Golang은 효율성과 단순성으로 널리 알려진 매우 인기 있는 프로그래밍 언어입니다. 애플리케이션을 개발하다 보면 날짜 유형을 변환해야 하는 경우가 종종 있습니다. Golang에서 날짜 유형을 변환하는 방법을 소개하겠습니다.

Golang에는 time.Time과 string이라는 두 가지 주요 날짜 유형이 있습니다. time.Time 유형은 특정 시점을 나타낼 수 있는 반면, 문자열 유형은 문자열 유형 표현입니다. 두 유형 사이를 변환하려면 Golang에서 제공하는 일부 기능을 사용할 수 있습니다.

  1. string to time.Time

Golang에서는 time.Parse() 함수를 통해 문자열 형식의 날짜를 time.Time 형식으로 변환할 수 있습니다. 예는 다음과 같습니다.

str := "2021-06-01 12:00:00"
layout := "2006-01-02 15:04:05"
t, err := time.Parse(layout, str)
if err != nil {
    fmt.Println(err)
}
fmt.Println(t)

구문 분석 함수 time.Parse()는 두 개의 매개변수를 전달해야 합니다. 하나는 날짜 문자열이고 다른 하나는 날짜 문자열의 형식입니다. 위의 예에서 날짜 문자열은 2021-06-01 12:00:00이고 형식 문자열은 2006-01-02 15:04:05입니다. 여기서 주의할 점은 형식 문자열의 숫자를 연, 월, 일, 시, 분, 초의 순서로 배열하고, 해당 형식 문자를 사용해야 한다는 점이다. 2021-06-01 12:00:00,格式字符串是2006-01-02 15:04:05。这里需要注意的是,格式字符串中的数字必须按照年、月、日、时、分、秒的顺序排列,并使用对应的格式符。

  1. time.Time转string

在Golang中,可以通过time.Format()函数将一个time.Time类型的日期转换为string类型。示例如下:

t := time.Now()
layout := "2006-01-02 15:04:05"
str := t.Format(layout)
fmt.Println(str)

格式化函数time.Format()需要传递一个格式字符串,该格式字符串与解析函数中的字符串格式相同。在上面的示例中,获取当前时间使用的是time.Now()函数,格式字符串是2006-01-02 15:04:05

  1. Unix时间戳转time.Time

在Golang中,可以通过time.Unix()函数将一个Unix时间戳转换为time.Time类型。示例如下:

unixTime := int64(1622496000)
t := time.Unix(unixTime, 0)
fmt.Println(t)

函数time.Unix()需要传递两个参数:一个是Unix时间戳,另一个是纳秒的偏移量,这里使用0作为偏移量即可。

  1. time.Time转Unix时间戳

在Golang中,可以通过time.Unix()函数将一个time.Time类型转换为Unix时间戳。示例如下:

t := time.Now()
unixTime := t.Unix()
fmt.Println(unixTime)

函数time.Unix()会返回一个Unix时间戳,并且该时间戳是int64类型的。在上面的示例中,获取当前时间使用的是time.Now()

    time.Time을 문자열로

    Golang에서는 time.Format() 함수를 통해 time.Time 형식의 날짜를 문자열 형식으로 변환할 수 있습니다. 예는 다음과 같습니다.

    rrreee🎜형식 지정 함수 time.Format()은 구문 분석 함수의 문자열 형식과 동일한 형식 문자열을 전달해야 합니다. 위의 예에서 time.Now() 함수는 현재 시간을 가져오는 데 사용되며 형식 문자열은 2006-01-02 15:04:05입니다. 🎜
      🎜Unix 타임스탬프를 time.Time으로🎜🎜🎜Golang에서는 time.Unix() 함수를 통해 Unix 타임스탬프를 time.Time 유형으로 변환할 수 있습니다. 예는 다음과 같습니다. 🎜rrreee🎜 time.Unix() 함수는 두 개의 매개변수를 전달해야 합니다. 하나는 Unix 타임스탬프이고 다른 하나는 나노초 오프셋입니다. 여기서는 0이 오프셋으로 사용됩니다. 🎜
        🎜time.Time을 Unix 타임스탬프로🎜🎜🎜Golang에서는 time.Unix() 함수를 통해 time.Time 유형을 Unix 타임스탬프로 변환할 수 있습니다. 예는 다음과 같습니다: 🎜rrreee🎜 time.Unix() 함수는 Unix 타임스탬프를 반환하며 타임스탬프는 int64 유형입니다. 위의 예에서는 time.Now() 함수를 사용하여 현재 시간을 가져옵니다. 🎜🎜요약🎜🎜Golang 날짜 유형 변환은 어렵지 않습니다. 적절한 기능을 사용하면 됩니다. 위에 소개된 네 가지 방법은 대부분의 날짜 유형 변환 요구 사항을 충족할 수 있습니다. 물론 실제 적용에서 고려해야 할 특별한 경우가 많고 특정 상황에 따라 조정해야 하지만 이것만으로도 시작하기에 충분합니다. 🎜

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

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