我开始操作,我的命令行应用程序获取的参数之一是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;
答案 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,您可以看到您正在详细运行应用程序的时间。当然,如果我理解你是对的。