如何使用C#生成表示一天中开始和结束时间之间15分钟时间间隔的字符串列表?

Shu*_*rik 3 .net c#

我正在创建一个表单,用户可以使用预设值指定开始和结束时间.我想在一天内的上午9点到下午5点之间生成一个15分钟间隔的字符串表示列表.

Yur*_*ich 9

List<string> query = Enumerable.Range(0, 33).Select(i => 
    DateTime.Today.AddHours(9).AddMinutes(i * 15).ToString()).ToList();
Run Code Online (Sandbox Code Playgroud)

要么

int i = -1;
while(DateTime.Today.AddHours(9).AddMinutes(i * 15).Hour < 17)
    Console.WriteLine(DateTime.Today.AddHours(9).AddMinutes(15 * (++i)));
Run Code Online (Sandbox Code Playgroud)

这是当天的情况,以防您将值保存在数据库中.

  • 很酷,但我不会称之为清晰的代码,尤其是Range()上的幻数33 (2认同)
  • Vinko - 你的答案充满了神奇的数字! (2认同)

Noo*_*ilk 7

DateTime有一个.AddMinutes方法.从那里开始.(DateTime.Now)


Vin*_*vic 5

这是代码

        DateTime start = new DateTime(1900, 1, 1, 9, 0, 0);
        DateTime end = new DateTime(1900, 1, 1, 17, 0, 0);
        DateTime current = start;
        while (current <= end)
        {
            Console.WriteLine(current.ToString("HH:mm"));
            current = current.AddMinutes(15);
        }
Run Code Online (Sandbox Code Playgroud)