4

完全な時間で2つの日付の違いをどのように取得できるのか疑問に思いました

例えば

DateTime date1 = DateTime.Now;
DateTime date2 = new DateTime(2011, 8, 5, 33,00); 
long hours = date1 - date2;
4

5 に答える 5

5

それはあなたに完全な時間を与えるlong/intへのキャストです。

TimeSpan span = date1.Subtract(date2);
long hours = (long)span.TotalHours;
于 2012-08-30T14:51:41.877 に答える
4
var hours = (date1 - date2).TotalHours;

または、1時間の端数が必要ない場合は、次のようにします。

var hours = Math.Floor((date1 - date2).TotalHours);
于 2012-08-30T14:51:48.687 に答える
3

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);
于 2012-08-30T14:51:43.170 に答える
1

あなたはで試すことができます

  var result = date1 - date2;
    var hours = result .TotalHours;
于 2012-08-30T14:52:26.617 に答える
1

この投稿でさまざまな違い、時間、日、月を計算するために使用する非常に優れたDateTimeSpan実装を見つけました

于 2012-08-30T14:53:42.077 に答える