如何检查,在C#中使用timeStamp传递“X分钟”?

时间:2016-07-09 11:43:24

标签: c# timespan

我正在尝试创建一个脚本,检查当前时间是否过去,但是出现了一些错误。

DateTime currentTime = DateTime.Now;
TimeSpan pauseMin = TimeSpan.FromMinutes(1);
TimeSpan compare = currentTime + pauseMin;
if (currentTime >= compare)
return null;

4 个答案:

答案 0 :(得分:1)

您无法比较DateTime和TimeSpan。

尝试 <div class="form-group"> <div class="input-group"> <div class="input-group-btn"> <button type="button" class="btn dropdown-toggle" data-toggle="dropdown">State <span class="caret"></span></button> <ul role="menu" class="dropdown-menu"> @foreach ($states as $key => $value) <li value="{{ $states[$key]['id'] }}">{{ $states[$key]['name'] }}</li> @endforeach </ul> </div> <div> <input type="text" class="form-control input-group"> </div> </div><!-- /.input-group --> </div><!-- /.form-group -->

如果您需要以某种方式使用TimeSpan,请使用Jamie F的答案。

答案 1 :(得分:1)

我会把它写成

DateTime currentTime = DateTime.Now;
TimeSpan pauseMin = TimeSpan.FromMinutes(1);
DateTime compare = currentTime.Add(pauseMin);
if (currentTime >= compare) {
    return null;
}

这使用您尝试用所有内容表示的对象类型。 DateTime可以添加Timespan:https://msdn.microsoft.com/en-us/library/system.datetime.add%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

或Istern的答案,如果你总是只是添加一个整数分钟的时间。

答案 2 :(得分:0)

DateTimeTimeSpan不同。您可以像这样使用currentTime

TimeSpan currentTime = TimeSpan.FromTicks(DateTime.Now.Ticks);

你可以像这样通过会议记录:

double minutes = (compare - currentTime).TotalMinutes;

答案 3 :(得分:0)

如果您只想暂停1分钟,可以使用

System.Threading.Thread.Sleep(1000 * 60);  // 1 minute = 60000 milliseconds

如果您希望您的功能运行1分钟,您可以使用类似

的功能
var returnAt = DateTime.Now().AddMinutes(1);

while ( true )
{ 
    // your code here ?

    if ( DateTime.Now() >= returnAt ) return null;
}