Wie kann ich in Go effizient eine bestimmte Zeit für den nächsten Tag ermitteln?

DDD
Freigeben: 2024-10-26 12:35:29
Original
912 Leute haben es durchsucht

How to Efficiently Get a Specific Time for the Following Day in Go?

So ermitteln Sie eine bestimmte Uhrzeit für den nächsten Tag

Einführung

Eine genaue Uhrzeit für den nächsten Tag ermitteln kann sein eine häufige Aufgabe bei der Arbeit mit Datums- und Uhrzeitangaben in Go. In diesem Artikel wird ein kürzerer und effizienterer Ansatz zum Erreichen dieses Ziels untersucht.

Problem

Der vorhandene Code erstellt durch Hinzufügen effektiv eine Zeit für einen bestimmten Zeitpunkt am folgenden Tag einen Tag zu einem Datum mit der gewünschten Stunde und Minute. Es umfasst jedoch mehrere Funktionsaufrufe und kann ausführlich sein.

Antwort

Das Zeitpaket in Go bietet eine präzisere Möglichkeit, das gewünschte Ergebnis zu erzielen. Mit der Round(0)-Methode kann die aktuelle Zeit auf die nächste ganze Sekunde gerundet werden. Mit dieser gerundeten Zeit als Basis kann eine neue Zeit erstellt werden, indem die Datumswerte separat festgelegt werden.

Effizienter Code

<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>
Nach dem Login kopieren

Wie es funktioniert

Dieser Code funktioniert wie folgt:

  1. Die aktuelle Zeit wird abgerufen und mithilfe von now.Round(0) auf die nächste ganze Sekunde gerundet.
  2. Extrahieren Jahr, Monat und Tag aus der gerundeten Zeit.
  3. Erstellen einer neuen Uhrzeit für morgen mithilfe von time.Date mit den extrahierten Jahres-, Monats- und Tageswerten sowie den gewünschten Stunden-, Minuten- und Sekundenwerten.
  4. Einstellen des Standorts von morgen auf den Standort der aktuellen Zeit.

Optimierung

Dieser Code wird durch Minimierung von Zeitaufrufen optimiert Paketfunktionen und -methoden. Durch die einmalige Berechnung von Jahr, Monat und Tag und deren Wiederverwendung zum Erstellen von morgen wird die Anzahl der Funktionsaufrufe erheblich reduziert.

Benchmark-Ergebnisse

Benchmarks zeigen, dass dieser optimierte Ansatz andere Methoden übertrifft. Die folgende Tabelle zeigt die Benchmark-Ergebnisse:

Benchmark Operations per Second
BenchmarkNow 31197811
BenchmarkTomorrowPeterSO 29852671
BenchmarkTomorrowJens 9523422

Das obige ist der detaillierte Inhalt vonWie kann ich in Go effizient eine bestimmte Zeit für den nächsten Tag ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!