C# 为变量分配时间

C# 为变量分配时间,c#,datetime,timespan,C#,Datetime,Timespan,这个问题对我来说可能很愚蠢。但我想了解标准 我正在创建在线考试应用程序。我想在通过UI插入问题时为每个问题分配时间。我必须保留哪些字段(在UI上?在代码隐藏中?在数据库中?)?时间跨度?还是日期时间。如果我保持时间跨度,那么如何在加载问题集时将时间跨度转换为日期时间?我使用的是asp.net mvc和c#Atimespan保持一个持续时间,比如60秒。DateTime包含固定的日期和时间。这就是你应该使用的 当你对问题说“时间”时,你的意思是回答问题需要多长时间?如果是这样,那么您正在寻找一个

这个问题对我来说可能很愚蠢。但我想了解标准


我正在创建在线考试应用程序。我想在通过UI插入问题时为每个问题分配时间。我必须保留哪些字段(在UI上?在代码隐藏中?在数据库中?)?时间跨度?还是日期时间。如果我保持时间跨度,那么如何在加载问题集时将时间跨度转换为日期时间?我使用的是asp.net mvc和c#

A
timespan
保持一个持续时间,比如60秒。
DateTime
包含固定的日期和时间。这就是你应该使用的



当你对问题说“时间”时,你的意思是回答问题需要多长时间?如果是这样,那么您正在寻找一个持续时间,因此您应该使用TimeSpan。如果您能够将时间限制在一定的分钟数(没有分数),那么只需使用整数。

TimeSpan
是两个
DateTime
s之间经过的时间

DateTime
是一个特定的时间和日期,但不了解时间用法

因此,
DateTime
适合您使用

编辑

根据你对另一个答案的回答,这是你所追求的持续时间,它包含在一个时间跨度内。如果是分钟,最简单的方法是使用:

TimeSpan myTimeSpan = TimeSpan.FromMinutes( myUserInput );
编辑2

如果要计算时间使用情况,则在打开问题页面时,将时间存储在某个位置:

DateTime startTime = DateTime.Now;
然后,在回答问题时,执行以下操作:

TimeSpan questionDuration = DateTime.Now - startTime;

questionDuration
现在将包含从打开问题到回答问题所用的时间。

是的,John,但我有UI,其中是,我应该从用户、日期时间或时间跨度中获取什么作为输入?@Lalit-用户应该输入什么?约会?时间点?二者都或者他应该输入10分钟的持续时间?是的,只有分钟。那么我要带什么到那里呢?我想如果我把整数作为输入,那么我必须用datetime转换成分钟数?请纠正我。我对datetime一无所知。哦,我误解了你对每个问题所说的“时间”的意思。你指的是持续时间。没关系,我想要那个特定问题的持续时间为什么要将其转换为日期时间?事实上,我不想这样做。请回顾下面的讨论,但它也包含日期,我想将问题时间设置为2分钟。每个问题的时间都不同。那么我应该从UI中获取什么作为输入呢?整数?