c# - 如何每 3 小时向 DateTime 变量添加 10 分钟
问题描述
所以基本上,我有一个射程(以小时为单位)为 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);
}
}
电流输出:
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 2:04:00 AM
19/05/2019 1:40:00 AM
19/05/2019 2:14:00 AM
预期输出(注意 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);
}
推荐阅读
- reactjs - 使用 redux reducer 和 selector 连接 RTK Query API
- sql - Access SQL 查询中的组合条件
- r - 如何将数据转换为长格式?
- python - ModuleNotFoundError:没有名为“app.routes”的模块
- oracle - 如何自动打开文件 - PL/SQL(Oracle SQL Developer)
- java - 找不到方法 prepareStatement(String)
- kubernetes - 具有多个负载均衡器和 pod 的单个 YAML 文件
- python - python中的extend和__add__方法
- swift - SplitViewController - 避免通过多个 ViewControllers 支持
- node.js - page.save() 不是函数 - Mongoose