我的目标是以30分钟的时间间隔填充组合框24小时。 I.E - 上午12点,上午12点30分,凌晨1点,凌晨1点30分,依此类推。我需要知道如何将这些细节放入数组中。谢谢
答案 0 :(得分:1)
一种方法是在一天内迭代30
分钟,并将具有特定字符串表示的DateTime
值添加到列表中。等;
List<string> list = new List<string>();
DateTime start = DateTime.Today;
DateTime end = DateTime.Today.AddDays(1);
while (end > start)
{
list.Add(start.ToString("h.mmtt", CultureInfo.InvariantCulture));
start = start.AddMinutes(30);
}
如果您想将它们作为数组获取,只需使用list.ToArray()
即可获得它。 .NET Framework中的时间指示符也大多数(我没有检查所有这些)大写。这意味着,当您使用AM
说明符而不是PM
或tt
时,您将获得am
或pm
。在这种情况下,您需要用较小的情况替换这些值。
答案 1 :(得分:0)
不确切地知道你的意思。我会从这样的事情开始:
private IEnumerable<Timespan> Get30MinuteIntervalls()
{
var currentValue = new Timespan(0);
while (currentValue <= Timespan.FromHours(24)
{
yield return currentValue;
currentValue = currentValue.Add(Timespan.FromMinutes(30));
}
}
var values = Get30MinuteIntervalls().ToArray();
答案 2 :(得分:0)
尝试:
var d = new DateTime();
d = d.Date.AddHours("0").AddMinutes("0");
for (int i = 0; i < 48; i++)
{
d.AddMinutes(30);
cbo.AddItem(d.TimeOfDay.ToString());
}