Erfassen und berechnen Sie die verstrichenen Zeiten mit Noda Time
Frage
Ich möchte wichtige Momente für ein Sitzungsobjekt (das eine Remote-Ressource darstellt) genau verfolgen, und hier ist, was ich tun möchte:
- Zeichnen Sie wichtige Ereignisse auf, z. B. die Startzeit der Sitzung
- Zeigen Sie dem Benutzer umfangreiche Zeitinformationen an, wenn er dazu aufgefordert wird
- Sie haben die Möglichkeit, die verstrichenen Zeiten zwischen Ereignissen zu berechnen, z. B. die Zeit im Verhältnis zur Startzeit der Sitzung
Ich habe einen Testcode, mit dem ich alle benötigten Informationen erfolgreich sammeln kann und den ich verwende IClock
als Basis, um mit Augenblicken zu beginnen, aus denen ich etwas erschaffen kann ZonedDateTime
Und LocalDateTime
Werte.Ich habe noch keine anderen Beispiele als die Berechnung von Tagen und Monaten gefunden (mit Period
).Ich muss Zeiten erfassen und anzeigen (z. B.die verstrichene Zeit seit Beginn der Sitzung) mindestens auf die Sekunde genau.
Gibt es solche Beispiele?Ich habe herumgesucht und noch nichts gefunden.
Mit der BCL wäre das eine Aufgabe TimeSpan
.Ich möchte jedoch aus mehreren Gründen (und aus Gründen der Konsistenz in anderen Bereichen, in denen ich Noda Time verwende) die viel umfassenderen Daten von Noda Time nutzen.
Lösung
Es hört sich so an, als ob Sie nur danach suchen Duration
Struktur.Etwas wie das?
IClock clock = SystemClock.Instance;
Instant i1 = clock.Now;
// some time later...
Instant i2 = clock.Now;
Duration d = i2 - i1;
Möglicherweise können Sie weitere Beispiele finden, indem Sie Stack Overflow mithilfe von durchsuchen nodatime Etikett.
Siehe auch, die Kurzreferenz zu Kerntypen im Noda Time-Benutzerhandbuch.
Wenn Sie etwas Spezifischeres benötigen, bearbeiten Sie bitte Ihre Frage, um sie näher zu erläutern.Danke.