两个日期时间 C # 的区别?

我需要一个函数,可以返回以下两个日期之间的差额为24。

DateTime a = new DateTime(2008, 01, 02, 06, 30, 00);
DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);
144073 次浏览

试试以下方法

double hours = (b-a).TotalHours;

如果您只想要小时差异,不包括天的差异,您可以使用以下内容

int hours = (b-a).Hours;

这两种性质的差异主要体现在时间差大于1天时。“小时”属性将只报告两个日期之间的实际小时差异。因此,如果两个日期相差100年,但同时发生在一天中,小时将返回0。但是 TotalHours 将返回两个日期之间发生的总小时数(本例中为876,000小时)之间的差值。

另一个不同之处是 TotalHours 将返回小时数。这可能是你想要的,也可能不是。如果没有,马斯。圆形可以根据你的喜好调整。

你是否在寻找:

int Difference = (a-b).Hours;

You can do the following:

TimeSpan duration = b - a;

时间跨度类中有很多内置的方法可以满足您的需要,例如。

duration.TotalSeconds
duration.TotalMinutes

更多信息可以找到 给你

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

var t1 captures a value of 4:00AM

检查这个代码可能对某人有帮助。