【问题标题】:Creating list of hours separated by 30 min in C#在 C# 中创建以 30 分钟为间隔的小时列表
【发布时间】:2021-09-27 10:46:23
【问题描述】:

我正在尝试在 c# 中创建此列表,添加这就是我现在的状态

public static List<string> GetCurrentTime()
    {
        var start = DateTime.Today;
        List<string> L = new List<string>();
        var clockQuery = from offset in Enumerable.Range(0, 48)
                         select start.AddMinutes(30 * offset);
        foreach (var time in clockQuery)
            L.Add(time.ToString("hh:mm"));

        return L;
    }

这段代码将生成这个列表,我被困在这里,我怎样才能生成上面的列表,第一个值应该总是开始(1小时后 - 1小时30分钟)

【问题讨论】:

  • 澄清一下:假设现在是 13:00 (1PM),第一次生成的时间应该是 14:00 还是 12:30? 14:00 因为1 hour after now,12:30 因为1 hour after now - (minus) 1.5 hours
  • 应该是 14:00 - 14:30
  • Now而不是Today开始迭代直到日期改变?
  • 好的,但我如何将它们分组?
  • L.Add($"{time.ToString("hh:mm")} - {time.AddMinutes(30).ToString("hh:mm")});?

标签: c# asp.net asp.net-mvc


【解决方案1】:

我将我的代码设置如下:

public static List<string> GetCurrentTime()
    {
        var start = DateTime.Today;
        List<string> L = new List<string>();
        var clockQuery = from offset in Enumerable.Range(0, 48)
                         select start.AddMinutes(30 * offset);
        foreach (var time in clockQuery)
        {
            if(time > DateTime.Now)
            {
                L.Add(time.ToString("hh:mm") + " - " + time.AddMinutes(30).ToString("hh:mm"));
            }
        }
            

        return L;
    }

这将导致以下列表,它对我有用

【讨论】:

    【解决方案2】:

    如果你想从午夜开始:

     public static List<string> GetCurrentTime()
     {
       var now = DateTime.Now;
       var start = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
       List<string> L = new List<string>();
       var clockQuery = from offset in Enumerable.Range(0, 48)
                       select start.AddMinutes(30 * offset);
      foreach (var time in clockQuery)
       {
         L.Add(time.ToString("hh:mm") + "-" + 
               time.AddMinutes(30).ToString("hh:mm"));
       }
      return L;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 2014-11-17
      • 2016-03-24
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 2019-04-12
      相关资源
      最近更新 更多