Instant.Jetzt für NodaTime

Ich versuche in den Griff zu bekommen mit dem Noda Zeit Rahmen von Jon Skeet (und andere).

Ich versuche zu speichern, das aktuelle jetzt(Sofort). Sofortige entstand aus einem langen Zecken, aber was ist der aktuelle nun die Anzahl der Ticks?

Ist es:

Instant now = new Instant(DateTime.Now.ToUniversalTime().Ticks);

Und oder?

Instant now = Instant.FromDateTimeUtc(DateTime.Now.ToUniversalTime());

Sind Sie gleichwertig, bin ich noch dabei das richtig?

PS, wenn Jon die Antwort ist diese - ich möchte vorschlagen, eine Sofortige.Jetzt Eigentum.

PS2-ich weiß, der Titel enthält einen tag, aber es würde nicht lassen Sie mich einen kurzen "Augenblick.Jetzt" Titel.

  • Instant.Now wäre ein schlechter Fall für eine Immobilie, da es ändert sich der Wert von "hinter den kulissen" (BCL-leidet unter dem gleichen problem: DateTime.Now). Instant.GetCurrent() wäre viel besser, und new Instant() wohl das beste. Disclaimer: ich hatte null Einwirkung Noda Zeit.
  • Es ist nicht ein Instant.GetCurrent() - Siehe die Instant-docs. gibt Es auch nur ein Konstruktor für die Sofortige Instant(Int64)
  • Aber in jedem Fall, die beiden Definitionen sind äquivalent. Ticks ist eine absolute Menge, es ändert sich nicht mit der Zeitzone.
  • wartet, Jon Skeet, zu zeigen, Antwort 100% passgenau, alle die upvotes und verlassen glücklich und zufrieden aus ChuckSavage
  • Der Mangel an Instant.Now ist sehr bedächtig. Es ist nicht überprüfbar. Das ist, warum IClock vorhanden ist.
InformationsquelleAutor Chuck Savage | 2013-01-25
Schreibe einen Kommentar