C# 如何以30分钟为单位显示时间跨度

C# 如何以30分钟为单位显示时间跨度,c#,timespan,C#,Timespan,我希望以30分钟循环方式显示TimeSpan,并且仅以如下方式显示: 00:00 00:30 01:00 01:30 这是我的代码: @{ TimeSpan StartTime=TimeSpan.FromHours(0); 00:00 对于(int i=0;i

我希望以30分钟循环方式显示TimeSpan,并且仅以如下方式显示:

00:00

00:30

01:00

01:30
这是我的代码:


@{
TimeSpan StartTime=TimeSpan.FromHours(0);
00:00
对于(int i=0;i<24;i++)
{
StartTime=StartTime.Add(新的时间跨度(00,30,0));
@开始时间
}                      
}                                                                                           

您可以通过
ToString
为其指定格式:

    <select class="form-control dropdown guestTitle">
    @{
       TimeSpan StartTime = TimeSpan.FromHours(0);
       <option>00:00</option>
       for (int i = 0; i < 48; i++)
           {
               StartTime = StartTime.Add(new TimeSpan(00,30,0));
               <option>@StartTime.ToString("hh\\:mm")</option>
           }                      
      }                                                                                           
  </select>

@{
TimeSpan StartTime=TimeSpan.FromHours(0);
00:00
对于(int i=0;i<48;i++)
{
StartTime=StartTime.Add(新的时间跨度(00,30,0));
@StartTime.ToString(“hh\\:mm”)
}                      
}                                                                                           

使用
.ToString(“HH:mm”)
当我使用它时,给我错误的字符串格式。请看:也不是说TimeSpan是一个表示时间段的结构,而不是一个实际时间-因此小时将始终是0-23。@hashim:试试下面注释中给出的回答链接。@PaulF@“HH \:mm”这种格式有效,我需要小时数为0-23,现在显示0-12输入字符串的格式不正确。当我将
.ToString(“HH:mm”)
放入时出现此错误,我想您会发现时间跨度的正确格式字符串为@“HH \:mm”-请参阅@AshkanMobayenKhiabani谢谢,这也是您的格式,我还需要小时数为0-23,现在显示0-12@hashim它是24小时制的。请注意,for循环每半小时重复24次,即12小时。如果你想要24小时,你应该让你的循环重复48次(i