定平等のDatetime値分の精度内でLINQ
質問
い"の二つのdatetime値を平等(も同じ)を用い、分ます。このプレゼントしていきますか?私の日か秒、ミリ秒単位で考えてみたいだけたのではないでしょうかまで分。
where (Math.Abs(datetime1.Subtract(datetime2).TotalMinutes) == 0)
解決
Math.Abs(diff.TotalMinutes) == 0
はそれをしないかどうか確認し、ない - それは、彼らがの正確のと同じだかどうかをチェックしませんです。
あなたは彼らが同じ分を持っているかどうか、彼らは離れて分未満だかどうかを確認しようとしていますか?まず、使用する場合:
where RoundToMinute(dateTime1) == RoundToMinute(dateTime2)
と宣言した。
public static DateTime RoundToMinute(DateTime time)
{
return new DateTime(time.Year, time.Month, time.Day,
time.Hour, time.Minute, 0, time.Kind);
}
秒間、使用
where Math.Abs((dateTime1 - dateTime2).TotalMinutes) < 1
あなたは結果は1がローカルである場合になりたいかを考えなければならないと1を経由して、UTCである...
あなたがオブジェクトにLINQを使用していると仮定 -ここでLINQ固有の何もないことに注意してください。あなたはSQLにLINQを使用している場合は、明らかにあなたは、ローカルの方法を使用することはできませんし、我々は再び見てする必要があります...
編集:私はまだあなたの質問に非常に不明瞭です。あなたがそれらをの正確の同じ日付/時刻する必要がある場合、それは(UTC号VS可能ローカルを脇に残して)簡単です:
where dateTime1 == dateTime2
しかし、あなたは質問タイトルに「分精度」または言及理由の質問を頼む質問体内の「分精度まで使用して」ます。
他のヒント
どの程度
where (Math.Floor(datetime1.Ticks / 600000000) == Math.Floor(datetime2.Ticks / 600000000))
コアレンは、いまだコーヒーに飽きたら寿司に出ように!).こちらはコードスニペットを示す回答をいただ当初は:
(Math.Abs(datetime1.Subtract(datetime2).TotalMinutes)==0)
背景:内にlinqクエリーのWHERE節では、ワーライナー、チェックをする必要がdatetime1とdatetime2も全く同じです。のdatetime値を検討してスタンプの日その他の値を返します。