Maison  >  Article  >  développement back-end  >  Comment créer efficacement un objet « time.Time » pour une heure spécifique le jour suivant ?

Comment créer efficacement un objet « time.Time » pour une heure spécifique le jour suivant ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 12:05:29833parcourir

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

Comment récupérer une heure spécifique le jour suivant

Présentation

Cet article vise à fournir une solution pour créer un objet time.Time représentant une heure précise le lendemain. Nous explorerons une approche concise et efficace pour y parvenir.

Le défi

La tâche consiste à créer un objet time.Time pour une heure et une minute données le jour suivant. Le code fourni offre initialement une solution simple :

now := time.Now()
tomorrow := time.Date(now.Year(), now.Month(), now.Day(), 15, 0, 0, 0, time.UTC).AddDate(0, 0, 1)

Bien que cette méthode fonctionne efficacement, elle implique plusieurs appels de méthode et peut être assez verbeuse.

Une solution optimisée

Pour améliorer l'efficacité et la concision, nous pouvons exploiter la fonction Date et utiliser la méthode AddDate pour modifier la date créée. Cette approche minimise le nombre d'appels de fonctions et d'invocations de méthodes :

import "time"

...

yyyy, mm, dd := now.Date()
tomorrow := time.Date(yyyy, mm, dd+1, 15, 0, 0, 0, now.Location())

Cet extrait de code accomplit la même tâche avec moins d'opérations, ce qui le rend à la fois efficace et concis.

Résultats de référence

Pour évaluer les performances de la solution optimisée, nous avons effectué des tests comparatifs par rapport au code d'origine et à une autre approche de PeterSO sur Stack Overflow :

BenchmarkNow-8                  31197811            36.6 ns/op
BenchmarkTomorrowPeterSO-8      29852671            38.4 ns/op
BenchmarkTomorrowJens-8          9523422           124 ns/op

Les résultats indiquent que la solution optimisée est nettement plus rapide, surpassant à la fois l'approche originale et celle de PeterSO. Cela confirme l'efficacité de la méthode proposée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn