完全な時間で2つの日付の違いをどのように取得できるのか疑問に思いました
例えば
DateTime date1 = DateTime.Now;
DateTime date2 = new DateTime(2011, 8, 5, 33,00);
long hours = date1 - date2;
それはあなたに完全な時間を与えるlong/intへのキャストです。
TimeSpan span = date1.Subtract(date2);
long hours = (long)span.TotalHours;
var hours = (date1 - date2).TotalHours;
または、1時間の端数が必要ない場合は、次のようにします。
var hours = Math.Floor((date1 - date2).TotalHours);
TimeSpan
両方の日付を引くことで、を使用できます。
DateTime date1 = DateTime.Now;
DateTime date2 = new DateTime(2011, 8, 5);
TimeSpan ts = date1 - date2;
long hours = (long)ts.TotalHours;
できるだけ正確に丸めたい場合は、次を使用できますMath.Round
。
long hours = (long)Math.Round(ts.TotalHours, MidpointRounding.AwayFromZero);
あなたはで試すことができます
var result = date1 - date2;
var hours = result .TotalHours;
この投稿でさまざまな違い、時間、日、月を計算するために使用する非常に優れたDateTimeSpan実装を見つけました