我正在从数据库中检索两个日期时间值。一旦检索到值,我需要两个值之间的差值。
为此,我创建了一个时间跨度变量来存储两个日期值的差值。
TimeSpan? variable = datevalue1 - datevalue2;
现在我需要显示在Timespan变量中存储的小时数的差异。
我提到了TimeSpan。TotalHours,但由于某种原因不能应用相同的。
我怎么做呢?
我在MVC项目上使用c#。我需要简单地显示小时的差异值?
编辑:
由于时间跨度是空的,我不能使用总小时属性。现在我可以通过timeespanval。value。totalhours来使用它;
在本例中,我们创建了两个datetime对象,一个具有当前时间,另一个具有75秒的当前时间。然后在第二个DateTime对象上调用. subtract()方法。这将返回一个TimeSpan对象。
一旦我们获得TimeSpan对象,我们就可以使用TimeSpan的属性来获得实际的小时、分钟和秒。
DateTime startTime = DateTime.Now;
DateTime endTime = DateTime.Now.AddSeconds( 75 );
TimeSpan span = endTime.Subtract ( startTime );
Console.WriteLine( "Time Difference (seconds): " + span.Seconds );
Console.WriteLine( "Time Difference (minutes): " + span.Minutes );
Console.WriteLine( "Time Difference (hours): " + span.Hours );
Console.WriteLine( "Time Difference (days): " + span.Days );
结果:
Time Difference (seconds): 15
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0
var startTime = new TimeSpan(6, 0, 0); // 6:00 AM
var endTime = new TimeSpan(5, 30, 0); // 5:30 AM
var hours24 = new TimeSpan(24, 0, 0);
var difference = endTime.Subtract(startTime); // (-00:30:00)
difference = (difference.Duration() != difference) ? hours24.Subtract(difference.Duration()) : difference; // (23:30:00)
如果我们比较两个不同的日期,还可以添加日期之间的差异吗
new TimeSpan(24 * days, 0, 0)