首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以小时为单位显示两个日期时间值之间的差异

以小时为单位显示两个日期时间值之间的差异
EN

Stack Overflow用户
提问于 2011-02-09 22:39:45
回答 8查看 525.8K关注 0票数 210

我正在从数据库中检索两个日期时间值。一旦检索到值,我就需要这两个值之间的差异。为此,我创建了一个timespan变量来存储两个日期值的差值。

代码语言:javascript
复制
TimeSpan? variable = datevalue1 - datevalue2;

现在,我需要显示以小时数存储在Timespan变量中的差异。我提到了TimeSpan.TotalHours,但由于某些原因无法应用相同的内容。我该怎么做?我在一个MVC项目中使用了C#。我只需要显示以小时为单位的差值?

编辑:因为timespan可以为空,所以我不能使用总小时属性。现在我可以通过执行TimeSpanVal.Value.TotalHours来使用它;

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-02-09 22:44:26

我认为你很困惑,因为你没有声明一个TimeSpan,你声明了一个TimeSpan?,也就是一个nullable TimeSpan。如果您不需要问号可以为空,则删除问号,或者使用variable.Value.TotalHours

票数 132
EN

Stack Overflow用户

发布于 2011-02-09 22:44:58

您可能还希望查看

代码语言:javascript
复制
var hours = (datevalue1 - datevalue2).TotalHours;
票数 231
EN

Stack Overflow用户

发布于 2011-02-09 22:43:07

在示例中,我们创建了两个datetime对象,一个具有当前时间,另一个在当前时间基础上添加了75秒。然后,我们将对第二个DateTime对象调用方法.Subtract()。这将返回一个TimeSpan对象。一旦我们获得了TimeSpan对象,我们就可以使用TimeSpan的属性来获得实际的小时、分钟和秒。

代码语言:javascript
复制
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 );

结果:

代码语言:javascript
复制
Time Difference (seconds): 15
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0
票数 109
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4946316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档