> 백엔드 개발 > Golang > 다음 날 특정 시간에 대한 `time.Time` 객체를 효율적으로 생성하는 방법은 무엇입니까?

다음 날 특정 시간에 대한 `time.Time` 객체를 효율적으로 생성하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-26 12:05:29
원래의
897명이 탐색했습니다.

How to Efficiently Create a `time.Time` Object for a Specific Time on the Following Day?

다음 날의 특정 시간을 검색하는 방법

개요

이 글의 목적은 시간을 생성하기 위한 솔루션을 제공하는 것입니다. 다음 날 특정 시간. 이를 달성하기 위한 간결하고 효율적인 접근 방식을 모색하겠습니다.

도전

작업은 다음 날 지정된 시간과 분에 대한 time.Time 개체를 만드는 것입니다. 처음에 제공된 코드는 간단한 솔루션을 제공합니다.

now := time.Now()
tomorrow := time.Date(now.Year(), now.Month(), now.Day(), 15, 0, 0, 0, time.UTC).AddDate(0, 0, 1)
로그인 후 복사

이 방법은 효과적으로 작동하지만 여러 메소드 호출이 필요하고 상당히 장황할 수 있습니다.

최적화된 솔루션

효율성과 간결성을 높이기 위해 Date 함수를 활용하고 AddDate 메서드를 활용하여 생성된 날짜를 수정할 수 있습니다. 이 접근 방식은 함수 호출 및 메서드 호출 수를 최소화합니다.

import "time"

...

yyyy, mm, dd := now.Date()
tomorrow := time.Date(yyyy, mm, dd+1, 15, 0, 0, 0, now.Location())
로그인 후 복사

이 코드 조각은 더 적은 수의 작업으로 동일한 작업을 수행하므로 효율적이고 간결합니다.

벤치마크 결과

최적화된 솔루션의 성능을 평가하기 위해 원래 코드와 Stack Overflow에서 PeterSO의 또 다른 접근 방식에 대해 벤치마킹 테스트를 수행했습니다.

BenchmarkNow-8                  31197811            36.6 ns/op
BenchmarkTomorrowPeterSO-8      29852671            38.4 ns/op
BenchmarkTomorrowJens-8          9523422           124 ns/op
로그인 후 복사

결과는 최적화된 솔루션이 훨씬 더 빠르고 성능이 우수하다는 것을 나타냅니다. 원본과 PeterSO의 접근 방식 모두. 이는 제안한 방법의 효율성을 확인시켜 줍니다.

위 내용은 다음 날 특정 시간에 대한 `time.Time` 객체를 효율적으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿