我正在从数据库中检索两个日期时间值。一旦检索到值,我就需要这两个值之间的差异。为此,我创建了一个timespan变量来存储两个日期值的差值。
TimeSpan? variable = datevalue1 - datevalue2;
现在,我需要显示以小时数存储在Timespan变量中的差异。我提到了TimeSpan.TotalHours,但由于某些原因无法应用相同的内容。我该怎么做?我在一个MVC项目中使用了C#。我只需要显示以小时为单位的差值?
编辑:因为timespan可以为空,所以我不能使用总小时属性。现在我可以通过执行TimeSpanVal.Value.TotalHours来使用它;
发布于 2011-02-09 22:44:26
我认为你很困惑,因为你没有声明一个TimeSpan
,你声明了一个TimeSpan?
,也就是一个nullable TimeSpan
。如果您不需要问号可以为空,则删除问号,或者使用variable.Value.TotalHours
。
发布于 2011-02-09 22:44:58
您可能还希望查看
var hours = (datevalue1 - datevalue2).TotalHours;
发布于 2011-02-09 22:43:07
在示例中,我们创建了两个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
https://stackoverflow.com/questions/4946316
复制相似问题