我开始操作,命令行应用程序获取的参数之一是Number,表示我的操作需要运行多少时间。

int duration = int.Parse(args[0]) // run my operation for this time in minutes


这是我尝试过的(不起作用):

...
DateTime start = DateTime.Now;
// check whether this time in minutes passed
if (start.Minute > duration )
    break;

最佳答案

编辑:使用UtcNow

    void DoWork(int durationInMinutes)
    {
        DateTime startTime = DateTime.UtcNow;
        TimeSpan breakDuration = TimeSpan.FromMinutes(durationInMinutes);

        // option 1
        while (DateTime.UtcNow - startTime < breakDuration)
        {
            // do some work
        }

        // option 2
        while (true)
        {
            // do some work
            if (DateTime.UtcNow - startTime > breakDuration)
                break;
        }
    }

关于c# - 如何检查特定时间是否过去,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27359345/

10-11 22:04
查看更多