![](/img/trans.png)
[英]How do I find the time difference in hours minutes,, and seconds C# windows form app
[英]fill combobox in windows form application C# with time interval (hours: minutes)
这是使用简单的while循环执行此操作的一种方法:
var item = DateTime.Today.AddHours(14); // 14:00:00
while(item <= DateTime.Today.AddHours(16)) // 16:00:00
{
cmb.Items.Add(item.TimeOfDay.ToString(@"hh\:mm"));
item = item.AddMinutes(20);
}
我假设您希望在头几个小时和最后几个小时都具有一定的灵活性,但是您可以确保间隔始终为20分钟。
如果可以用简单的字符串表示时间,则可以使用两个嵌套循环:
const int firstHour = 12;
const int lastHour = 14;
for (var hour = firstHour; hour < lastHour; hour++)
{
for (var minute = 0; minute <= 40; minute += 20)
{
comboBox.Items.Add($"{hour}:{minute:00}");
}
}
comboBox.Items.Add($"{lastHour}:00");
如果您希望将自己的时间作为DateTime的实例,请使用以下循环:
const int firstHour = 12;
const int lastHour = 14;
var time = new DateTime(2000, 1, 1, firstHour, 0, 0); //or any other suitable year,month,day
while (time.Hour < lastHour)
{
comboBox.Items.Add(time);
time = time.AddMinutes(20);
}
comboBox.Items.Add(new DateTime(time.Year, time.Month, time.Day, lastHour, 0, 0));
comboBox.FormatString = "HH:mm"; //to prevent the date from being displayed
我将firstHour
和lastHour
定义为常量,以使示例保持简单,您可以将它们转换为变量,方法的参数或对您更有用的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.