reg*_*gie 180 c# datetime timespan asp.net-mvc-2
我正从数据库中检索两个日期时间值.一旦检索到值,我需要两个值之间的差异.为此,我创建了一个时间跨度变量来存储2个日期值的差异.
TimeSpan? variable = datevalue1 - datevalue2;
Run Code Online (Sandbox Code Playgroud)
现在我需要以小时数的形式显示存储在Timespan变量中的差异.我提到了TimeSpan.TotalHours但由于某种原因无法应用它.我怎么做?我在MVC项目上使用C#.我只需要以小时显示差异值?
编辑:由于时间跨度可以为空,我无法使用总小时数属性.现在我可以通过做TimeSpanVal.Value.TotalHours来使用它 ;
Mar*_*way 184
你可能也想看看
var hours = (datevalue1 - datevalue2).TotalHours;
Run Code Online (Sandbox Code Playgroud)
saf*_*afi 82
在示例中,我们创建了两个日期时间对象,一个具有当前时间,另一个具有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 );
Run Code Online (Sandbox Code Playgroud)
结果:
时差(秒):15时差(分钟):1时差(小时):0时差(天):0
Ily*_*gan 38
你有没有理由使用Nullable?
如果你想使用Nullable那么你可以写variable.Value.TotalHours.
或者你可以写:(datevalue1 - datevalue2).TotalHours.
这是在C#中减去两个日期的另一个例子......
if ( DateTime.Now.Subtract(Convert.ToDateTime(objDateValueFromDatabase.CreatedOn)).TotalHours > 24 )
{
...
}
Run Code Online (Sandbox Code Playgroud)