>백엔드 개발 >Golang >Go에서 Unix 타임스탬프를 올바르게 검색하는 방법은 무엇입니까?

Go에서 Unix 타임스탬프를 올바르게 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-03 11:02:10416검색

How to Correctly Retrieve a Unix Timestamp in Go?

Go에서 Unix 타임스탬프 검색

Go에서는 Unix 타임스탬프(에포크 이후 초 단위의 현재 시간)를 얻을 수 있습니다. 시간 패키지를 사용합니다. 이 타임스탬프는 파일 수정이나 데이터베이스 타임스탬프 등 다양한 목적으로 사용되는 경우가 많습니다.

원본 코드

질문에서 제공된 코드는 Unix 타임스탬프를 검색하려고 시도합니다. os.Time 함수 사용:

if t, _, err := os.Time(); err == nil {
    port[5] = int32(t)
}

이 스니펫에는 논리적 오류가 있습니다. 코드의 자세한 분석은 다음과 같습니다.

  • os.Time(): 이 함수는 임의의 시간대 오프셋이 있는 벽시계 타임스탬프인 시간 유형을 반환합니다.
  • _, _, err := os.Time(): 현재 현지 시간대의 타임스탬프만 고려하므로 두 개의 밑줄 이름 변수(빈 변수 이름의 경우 _)를 사용하여 삭제합니다. 다른 두 개의 반환 값.
  • port[5] = int32(t): 이 줄은 Time 값을 int32 배열 요소에 직접 할당하려고 시도합니다. 그러나 Time은 int32와 직접 호환되지 않는 time.Time 유형입니다.

업데이트된 코드

Go에서 Unix 타임스탬프를 얻으려면 더 적합한 함수는 time.Now().Unix()입니다. 이 함수는 Unix epoch(1970년 1월 1일 UTC) 이후의 초 수로 현재 시간을 나타내는 정수를 반환합니다. 업데이트된 코드는 다음과 같습니다.

import "time"

...

port[5] = time.Now().Unix()

이 수정된 코드는 Unix 타임스탬프를 올바르게 검색하고 time.Now().Unix()를 사용하여 변환하여 port[5] 요소에 int32로 할당합니다. 정수를 반환합니다.

위 내용은 Go에서 Unix 타임스탬프를 올바르게 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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