我正在创建在线考试申请表。我希望在通过UI插入时为每个问题分配时间。我必须保留哪些字段(在UI上?在代码后面?在数据库中?)?时间跨度 ?或约会时间? 。如果我保持时间跨度,那么如何在加载一组问题时将时间跨度转换为日期时间?我使用的是asp.net mvc和c#
答案 0 :(得分:2)
TimeSpan
持有持续时间,如60秒。 DateTime
拥有固定的日期和时间。这就是你应该使用的。
当你说出问题的“时间”时,你的意思是回答这个问题需要多长时间?如果是这样,那么你正在寻找持续时间,所以你应该使用TimeSpan。如果你能够将其限制为几分钟(没有分数),那么只需使用整数。
答案 1 :(得分:1)
TimeSpan
是两个DateTime
之间经过的时间。
DateTime
是特定的时间和日期,但不了解时间使用情况。
因此DateTime
对您来说是正确的。
编辑
根据你对另一个答案的回答,这是你所追求的持续时间,它包含在TimeSpan中。如果是分钟,最简单的方法是使用:
TimeSpan myTimeSpan = TimeSpan.FromMinutes( myUserInput );
编辑2
如果您想计算时间使用情况,那么在打开问题页面时会将时间存储在某处:
DateTime startTime = DateTime.Now;
然后,当问题得到解答时,请执行以下操作:
TimeSpan questionDuration = DateTime.Now - startTime;
questionDuration
现在将包含从打开问题到回答问题所用的时间。