Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何每3小时向DateTime变量添加10分钟_C#_Loops - Fatal编程技术网

C# 如何每3小时向DateTime变量添加10分钟

C# 如何每3小时向DateTime变量添加10分钟,c#,loops,C#,Loops,基本上,我有一个范围(小时)为3的平面物体。所以每3小时,飞机应该停下来加油10分钟。我一直在试着做一个计数器,在几分钟内给它加上额外的差异,然后把它和飞机的距离进行比较,但我没有任何运气。任何帮助都将不胜感激 DateTime startTime = DateTime.Parse(inputTime); // in format "18/05/2019 11:00:00 PM" List<DateTime> temporaryTimes = new List<DateTime

基本上,我有一个范围(小时)为3的平面物体。所以每3小时,飞机应该停下来加油10分钟。我一直在试着做一个计数器,在几分钟内给它加上额外的差异,然后把它和飞机的距离进行比较,但我没有任何运气。任何帮助都将不胜感激

DateTime startTime = DateTime.Parse(inputTime); // in format "18/05/2019 11:00:00 PM"
List<DateTime> temporaryTimes = new List<DateTime>();
temporaryTimes.Add(startTime); // Add initial value "23:00
List<string> timeStrings = new List<string>();

DateTime count = DateTime.Parse("00:00:00");

for (int i = 0; i < distanceTotal.Length; i++)
{
    if (count.Hour < plane1.Range)
    {
        temporaryTimes.Add(startTime.AddMinutes((Tour.CalTime(distanceTotal[i], plane1))));
        count = count.AddMinutes((Tour.CalTime(distanceTotal[i], plane1)));
        // string stringVersion = startTime.ToString("HH:mm");
        // timeStrings.Add(stringVersion);
        startTime = (startTime.AddMinutes((Tour.CalTime(distanceTotal[i], plane1))));
        var nextTime = temporaryTimes[i].AddMinutes((Tour.CalTime(distanceTotal[i], plane1)));

    }

    if (count.Hour >= plane1.Range)
    {
        DateTime test = temporaryTimes[i].AddMinutes(10);
        temporaryTimes.Add(test);
    }
}
预期输出(注意1:30-1:40的10分钟休息时间)

18/05/2019 11:00:00 PM
18/05/2019 11:28:00 PM
19/05/2019 12:10:00 AM
19/05/2019 12:44:00 AM
19/05/2019 1:30:00 AM
19/05/2019 1:40:00 AM
19/05/2019 2:15:00 AM
19/05/2019 3:00:00 AM

在第二个
if
块中,还应增加
startTime
,以便在中断时间后更新
startTime

大概是这样的:

if (count.Hour >= plane1.Range)
{
    startTime = startTime.AddMinutes(10);
    temporaryTimes.Add(startTime);
}

很难说出你的意思。听起来你想让计时器每三小时发生一次,但事实并非如此。所以我们不清楚“每三小时”是什么意思。很难将你的要求与我们在代码中看到的联系起来。
if (count.Hour >= plane1.Range)
{
    startTime = startTime.AddMinutes(10);
    temporaryTimes.Add(startTime);
}