C# 时间戳不起作用

C# 时间戳不起作用,c#,C#,我试着让它第二天转起来,但是没有。它一直在继续。你知道我做错了什么吗?我知道你想限制方法的执行时间。您需要使用TimeSpan检查循环是否从Now开始通过时间限制,对于示例,如果您不想通过1小时,可以执行以下操作: // start Time DateTime startTime = DateTime.Now; // time limit to execute TimeSpan timeLimit = new TimeSpan(0 /*days*/, 1/*hours*/, 0 /*minute

我试着让它第二天转起来,但是没有。它一直在继续。你知道我做错了什么吗?

我知道你想限制方法的执行时间。您需要使用
TimeSpan
检查循环是否从
Now
开始通过时间限制,对于示例,如果您不想通过
1
小时,可以执行以下操作:

// start Time
DateTime startTime = DateTime.Now;
// time limit to execute
TimeSpan timeLimit = new TimeSpan(0 /*days*/, 1/*hours*/, 0 /*minute*/, 0/*second*/)

for (int i = 0; i < 87400; i++) 
{
    // get the time used to execute 
    var executionTime = DateTime.Now - startTime;

    // check if it has exceeded
    if (executionTime >= timeLimit)
        break;

    // rest of method
}
//开始时间
DateTime startTime=DateTime.Now;
//执行期限
TimeSpan timeLimit=新的时间跨度(0/*天*/,1/*小时*/,0/*分钟*/,0/*秒*/)
对于(int i=0;i<87400;i++)
{
//获取用于执行的时间
var executionTime=DateTime.Now-startTime;
//检查是否已超过
如果(执行时间>=时间限制)
打破
//方法的其余部分
}

你为什么期望这样?你从来没有修改过
startTime
变量。startTime永远不会大于或等于endTime,你不是昨天发布的吗?@BradleyDotNET他今天将它设置在最顶端。不是你想象的那样。。。如果你只是想让它明天停止执行,忘记整个“startTime”检查,只需写
If(DateTime.Now>=endTime)
该变量将自动更新。哦,天哪,你已经花了多少天测试这个了?:)+1如果您想让它执行整整一个小时,则此操作有效。很难说这是OP想要的,还是他想让它在日历日一到就停止。好方法!是的,一个小时,但这个问题不容易理解!:)