質問
私は24として、以下の2つの日付の差を返すことができる機能を必要とします。
DateTime a = new DateTime(2008, 01, 02, 06, 30, 00);
DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);
解決
あなたは次のことを行うことができます:
TimeSpan duration = b - a;
あなたが必要なものを行うにはタイムスパンクラスのメソッドに建てられたたくさんの、すなわちがあります。
duration.TotalSeconds
duration.TotalMinutes
詳細情報はこちらのを見つけることができます。
他のヒント
タグ以下をお試しください
double hours = (b-a).TotalHours;
あなたはわずか数日の違いを除いた時間の差をつけたい場合は、は、
次のように使用することができますint hours = (b-a).Hours;
の時間差が1日以上である場合、これらの二つの特性の差は主に見られます。営業時間プロパティは、2つの日付の間の実際の時間差を報告します。二つの日付は、100年で異なっていたが、一日で同時に発生したのであれば、時間は0を返します。しかしTotalHours 2つの日付(この場合は876000時間)の間に発生した時間の合計量の間の差を返します。
他の違いはTotalHoursは端数時間を返すことです。これは、またはあなたが望むものであってもなくてもよいです。そうでない場合、恐らくMath.roundは、あなたの好みに合わせてそれを調整することができます。
あなたはおそらくを探しています:
int Difference = (a-b).Hours;
int hours = (int)Math.Round((b - a).TotalHours)
var theDiff24 = (b-a).Hours
B /時間Wの時間差はこの方法を使用して表示されます。
private void HoursCalculator()
{
var t1 = txtfromtime.Text.Trim();
var t2 = txttotime.Text.Trim();
var Fromtime = t1.Substring(6);
var Totime = t2.Substring(6);
if (Fromtime == "M")
{
Fromtime = t1.Substring(5);
}
if (Totime == "M")
{
Totime = t2.Substring(5);
}
if (Fromtime=="PM" && Totime=="AM" )
{
var dt1 = DateTime.Parse("1900-01-01 " + txtfromtime.Text.Trim());
var dt2 = DateTime.Parse("1900-01-02 " + txttotime.Text.Trim());
var t = dt1.Subtract(dt2);
//int temp = Convert.ToInt32(t.Hours);
//temp = temp / 2;
lblHours.Text =t.Hours.ToString() + ":" + t.Minutes.ToString();
}
else if (Fromtime == "AM" && Totime == "PM")
{
var dt1 = DateTime.Parse("1900-01-01 " + txtfromtime.Text.Trim());
var dt2 = DateTime.Parse("1900-01-01 " + txttotime.Text.Trim());
TimeSpan t = (dt2.Subtract(dt1));
lblHours.Text = t.Hours.ToString() + ":" + t.Minutes.ToString();
}
else
{
var dt1 = DateTime.Parse("1900-01-01 " + txtfromtime.Text.Trim());
var dt2 = DateTime.Parse("1900-01-01 " + txttotime.Text.Trim());
TimeSpan t = (dt2.Subtract(dt1));
lblHours.Text = t.Hours.ToString() + ":" + t.Minutes.ToString();
}
}
あなたのフィールドIDの
を使用しますの変数T1はのは、の値を捕捉するの 4:00 の
このコードは誰かに役立つかもしれ確認してください。
所属していません StackOverflow