c# - 如何获得小时之间的间隔并从开始到结束放入列表?

标签 c#

例如,我将获得类型为 DateTime 的小时时间。像这样的小时
对于初学者

  • 我的开始时间是 00:00
  • 结束时间是 02:00

  • 并且每次 30 分钟我喜欢将值输入到 List<DateTime>那么,如何将值放入看起来像这样的列表中?
  • 00:00
  • 00:30
  • 01:00
  • 01:30
  • 02:00

  • 我的密码
            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/

    相关文章:

    c# - 将字符串转换为给定的正则表达式模式

    c# - .Net 文件模式拾取不需要的文件 (C#)

    javascript - 设置表单默认参数

    c# - 如何使用 CellValueChanged 事件检索 DataGridView 单元格的先前值?

    c# - 如何向我的 backgroundworker dowork 事件添加耗时的进度?

    c# - 获取 ADO.NET SQL 命令的执行时间

    c# - Controller ——它应该直接处理服务层还是存储库?

    c# - 为什么是 i++ "unreachable code"?

    c# - 使用SqlConnection连接到SQLite时出错,为什么?

    c# - Controller 中有两种方法时的 API 和 OData 行为