소개
다음 날의 정확한 시간을 얻는 방법은 다음과 같습니다. Go에서 날짜와 시간을 다룰 때 흔히 발생하는 작업입니다. 이 기사에서는 이 목표를 달성하기 위한 더 짧고 효율적인 접근 방식을 살펴봅니다.
문제
기존 코드는 다음을 추가하여 다음 날 특정 시점에 대한 시간을 효과적으로 생성합니다. 하루를 원하는 시간과 분으로 날짜로 변환합니다. 그러나 여러 함수 호출이 필요하고 장황할 수 있습니다.
답변
Go의 time 패키지는 원하는 결과를 얻는 더 간결한 방법을 제공합니다. Round(0) 메서드를 사용하면 현재 시간을 가장 가까운 정수 초로 반올림할 수 있습니다. 이 반올림된 시간을 기본으로 날짜 값을 별도로 설정하여 새로운 시간을 생성할 수 있습니다.
효율적인 코드
<code class="go">package main import ( "fmt" "time" ) func main() { now := time.Now().Round(0) yyyy, mm, dd := now.Date() tomorrow := time.Date(yyyy, mm, dd+1, 15, 0, 0, 0, now.Location()) fmt.Println(tomorrow) }</code>
작동 방식
이 코드는 다음과 같이 작동합니다.
최적화
이 코드는 시간 호출을 최소화하여 최적화되었습니다. 패키지 기능 및 방법. 연, 월, 일을 한 번만 계산한 다음 다시 사용하여 내일을 생성하면 함수 호출 수가 크게 줄어듭니다.
벤치마크 결과
벤치마크 이 최적화된 접근 방식이 다른 방법보다 성능이 우수하다는 것을 보여줍니다. 다음 표에는 벤치마크 결과가 나와 있습니다.
Benchmark | Operations per Second |
---|---|
BenchmarkNow | 31197811 |
BenchmarkTomorrowPeterSO | 29852671 |
BenchmarkTomorrowJens | 9523422 |
위 내용은 Go에서 다음 날의 특정 시간을 효율적으로 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!