目で见ると実:.NETクラスライブラリでのDateTimeOffsetの用途

1850 ワード

目で见ると実:.NETクラスライブラリでのDateTimeOffsetの用途
译文:目で见ると実:.NETクラスライブラリでのDateTimeOffsetの用途
EnyimMemcachedCore(.NET Coreをサポートするmemachedクライアント)でnbspを実現する.Microsoft.Extensions.Caching.Distributed.IDistributedCacheインタフェースでは、期限切れの処理に問題が発生しました.
nbsp;IDistributedCacheでは、属性nbspが1つあるDistributedCacheEntryOptionsが使用されています.AbsoluteExpirationのタイプはnbspです.DateTimeOffset .nbsp;EnyimMemcachedCoreの有効期限の計算にはDateTimeが使用されます.計算方法は以下の通りです(サンプルコード).
DateTime expiresAt = DateTime.Now.AddHours(1);
DateTime unixEpoch = new DateTime(1970, 1, 1);
var totalSeconds = (uint)(expiresAt.ToUniversalTime() - unixEpoch).TotalSeconds;

上のコードでは、totalSecondsの実行結果はnbspです.1474951193 .
では、DateTimeOffsetを使う場合はどうすればいいのでしょうか.
DateTimeOffsetは時間オフセット量を表していますが、どの時間基準に基づいたオフセットですか?nbspから;DateTimeOffsetのコメントでは、UTC時間(Coordinated Universal Time)に基づいていることがわかります.DateTimeと同様にNow属性もあり、次のコードがあります.
DateTimeOffset expiresAtOffset = DateTimeOffset.Now.AddHours(1);

では、1970-1-1 00:00:00:00の合計秒数をどのように計算しますか?DateTimeOffsetにはnbspという方法があることが分かった.ToUnixTimeSeconds()は、名前からしてそれでしょう.1回目の使用は、検証する必要があります.
totalSeconds = (uint)expiresAtOffset.ToUnixTimeSeconds();

totalSecondsの実行結果も1474951193です.
nbspがあった;DateTimeOffsetは、計算の有効期限がより便利になり、Unixタイムスタンプの計算開始時間を覚えなくてもいいです.
posted on
2019-07-23 09:43 NET未来の道を読む(
...) コメント(
...) コレクションの編集
転載先:https://www.cnblogs.com/lonelyxmas/p/11229873.html