2016-11-08 8 views
1

DateTimeOffsetを返すMicrosoft APIを使用しています。プロパティには以下のドキュメントがあります。この値は、ローカルで測定された現在のUTC時間に基づいて計算されます。C#DateTimeOffset LocalDateとの比較

今回は、自分のアプリケーションがホストされているローカルサーバーと比較したいと思います。 (したがって、DateTimeOffsetはMicrosoft APIによって返され、比較したい場所はサーバー上にあります。これらの2つは異なるタイムゾーンを持つことができます)。

DateTimeOffsetを検査する場合、日付& UTCプロパティは同じ日付&時間であり、Kindプロパティは不特定です。

私は現在、状態を確認するためにDateTimeOffset < DateTime.UtcNowを使用しています。私は正しいのですか?

答えて

0

dateTimeOffset.LocalDateTime < dateTimeを使用してください。

.LocalDateTime方法は、(DateTimeKind.Localで)ローカルタイムゾーンにDateTimeOffsetに変換されますので、あなたは安全にあなたの地元のDateTimeと比較することができます。

+0

これは合理的に本当のようだと私はそれは、してみてくださいステージングにチェックして、この答えをマークすることが期待通りeverythigが見あげます!その条件は 'DateTimeOffset.ToLocalTime()。DateTime

0

あなたは今、あなたはそれUTC時間にするために、これはあなたのローカル時間にオフセットを追加使用することができます以下のコード

// Get the GMT time difference offset (This is your local time offset difference) 
var timeOffsetinMiniut = DateTimeOffset.Now.Offset.TotalMinutes; 

を使用して分単位でオフセット時間差を得ることができます。

var myNewDateTime = System.DateTime.Now.AddMinutes(timeOffsetinMiniut) 

ここで、時刻と新しいサーバー時刻を比較できます。

myNewDateTime < DateTime.UtcNow 

希望すると、これが役立ちます。

おかげ

+0

上記の説明のどこでも 'DateTimeOffset'を使用していないので、これがうまくいくかどうかは疑問です。ここでは上記の文脈で、 'DateTimeOffset'はMicrosoft APIから返される値を持つ変数です。 –

関連する問題