C#での時間と数分の期間計算
質問
最終結果は、ユーザーに開始時間と終了時間の間の期間を表示する必要があります(例:午前6時30分に開始し、午後18時30分に終了すると、表示される結果は12時間です)。
今、私はしなければなりません DateTime
パラメーター;それぞれから時間とtotime DateTime
パラメーターには24時間形式で1時間があり、30分の分値もある場合があります。
私が喜んでやろうとしているのは、それらの間で期間を取得することです DateTime
パラメーター。この方法を使用しました。
Public TimeSpan GetHourSpan(DateTime fromTime, DateTime toTime)
{
TimeSpan fromH = TimeSpan.FromHours(fromTime.Hour);
TimeSpan toH = TimeSpan.FromHours(toTime.Hour);
TimeSpan hourTotalSpan = toH.Subtract(fromH);
return hourTotalSpan;
}
これは素晴らしいことです、私の問題は、ある場合に数分で時間範囲を取得し、最終的にそれを追加することです TimeSpan
表示するオブジェクト。
両方が上記の方法で30分の時間スパンを持っている場合、0が戻り、MINプロパティに値がある場合はすべてのパラメーターを確認する必要があります。
時間と分を一緒に時間をとる簡単な方法はありませんか?
解決
TimeSpan span = toTime - fromTime;
// Split into hours:minutes: span.Hours, span.Minutes
// Total span in hours: span.TotalHours
// Total span in minutes (hours * 60): span.TotalMinutes
他のヒント
あなたがductuctを控除する場合 DateTime
から DateTime
, 、結果はAAです TimeSpan
. 。だからあなたは単に取ることができます
TimeSpan result = toTime-fromTime;
int hours = result.Hours;
int minutes = result.Minutes;
TimeSpan span = toTime - fromTime;
public double DurationinMins(DateTime startDt, DateTime endDt)
{
var ts = endDt.Subtract(startDt);
return ts.TotalMinutes;
}
所属していません StackOverflow