In der .NET wurden DateTime und DateTimeOffset verwendet, um die Zeit zu repräsentieren, jeweils nützlich. DateTime konzentriert sich auf eine bestimmte Kalenderzeit, während DateTimeOffset auch die Kalenderzeit und den lokalen Zeitzonenversatz erfasst hat.
an
DateTime kann als spezifischer Ort im Kalender angesehen werden. Es kann Etiketten wie lokal oder nicht spezifiziert sein, um seine relative Perspektive anzuzeigen. DateTime ist sehr nützlich, wenn die Zeit in Bezug auf einen bestimmten Ort bearbeitet wird, z. B. die aktuelle Zeit des Benutzers (z. B. datetime.now).
bedeutet im Gegenteil, datetimeOffset bedeutet "sofortige Zeit". Es bezieht sich auf einen gemeinsamen Moment und hat nichts mit der Zeitzone zu tun. Dies ähnelt der Zeit, die auf der digitalen Uhr angezeigt wird. DateTimeOffset erfasst auch diesen Moment des Moments und seinen Offset mit UTC und verwendet "00:00" oder "-04: 00" -Suffix.
weise Wahl: Instantane Zeit und Kalenderzeit
DateTime und DateTimeOffset hängen vom Kontext ab. Verwenden Sie für eine Zeit im Vergleich zu einem bestimmten Ort die DateTime mit einer klaren Etikett (nicht spezifiziert, lokal). Wenn Sie jedoch absolut bestimmt werden müssen, ohne von der lokalen Zeit betroffen zu sein, wählen Sie DateTimeOffset oder UTC DateTime.
Verarbeitungskonvertierung: Hinweis .Kind
Bitte achten Sie auf die versteckte Konvertierung von DateTime in DateTimeOffset. Es wird den .kind -Wert sorgfältig erklären. Wenn es sich um UTC handelt, ist der Offset Null; Dies kann subtile Probleme verursachen, wenn nicht spezifizierte DateTime -Werte auf einem Computer in verschiedenen Zeitzonen geladen werden.Extreme Erklärung:
Der Vergleich von
datetimeOffset -Werten wird vor der Bewertung auf Nullverschiebung standardisiert.Durch Überprüfung von DateTimeOffset bzw. .Offset ist eine vollständige Unit -Tests gewährleistet.
Denken Sie daran, dass die exponentielle Form der Speicherzeit von DateTimeOffset, um jedoch die entsprechende Zeit in einer bestimmten Zeitzone zu bestimmen, andere Informationen erforderlich sind (z. B. timezoneinfo.id).
Das obige ist der detaillierte Inhalt vonDateTime vs. DateTimeOffset in .net: Wann sollte ich welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!