例如,我将获得类型为 DateTime
的小时时间。像这样的小时
对于初学者
并且每次 30 分钟我喜欢将值输入到
List<DateTime>
那么,如何将值放入看起来像这样的列表中?我的密码
DateTime starTime = new DateTime();
DateTime endTimes = new DateTime();
DateTime interval = new DateTime();
List<DateTime> intervals = new List<DateTime>();
starTime = DateTime.ParseExact(fulldate + "00:00",
"yyyy/MM/dd HH:mm",
CultureInfo.InvariantCulture);
endTimes = DateTime.ParseExact(fulldate + "02:00",
"yyyy/MM/dd HH:mm",
CultureInfo.InvariantCulture); ;
interval = starTime;
for (int i = 0; i < 24; i++)
{
interval.AddHours(0.5);
intervals.Add(interval);
if (interval.ToString("HH:mm") == endTimes.ToString("HH:mm"))
{
break;
}
}
谁能帮我解决这个问题?
最佳答案
有一些假设(结束时间是在同一天,你的结束时间总是可以被 30 分钟划分,......)这会起作用。
var start = new TimeSpan(0, 0, 0);
var end = new TimeSpan(2, 0, 0);
var current = start;
List<DateTime> values = new List<DateTime>();
var startDate = DateTime.Now.Date; // editited after @pinkflowydx33's comment
values.Add(startDate + start);
while (current < end)
{
current = current.Add(new TimeSpan(0, 30, 0));
values.Add(startDate + current);
}
foreach (var v in values)
{
Console.WriteLine(v);
}
关于c# - 如何获得小时之间的间隔并从开始到结束放入列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66624361/