如何检查特定时间是否已过

时间:2014-12-08 13:42:33

标签: c# .net datetime

我开始操作,我的命令行应用程序获取的参数之一是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;

2 个答案:

答案 0 :(得分:7)

编辑:使用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;
        }
    }

答案 1 :(得分:3)

为此,您可以通过定义

来使用StopWatch
StopWatch watch = new StopWatch();
watch.Start();

以及你的代码在哪里完成运行写

watch.Stop();

通过使用stopwach,您可以看到您正在详细运行应用程序的时间。当然,如果我理解你是对的。