基于24小时时钟的小时间隔

本文关键字:小时间 时钟 24小时 基于 | 更新日期: 2023-09-27 18:25:59

我正试图计算从开始时间开始的一个小时间隔。。。

因此,如果我允许用户选择一个介于1和12之间的值,我想弄清楚24小时时钟中代表的时间。

假设现在是上午9点,他们希望在当天每4小时收到一次通知。我需要它具有以下值:

上午9点下午1点下午5点晚上9点

我正在尝试使用%(模量),但我没有得到我所期望的(4 % 24)。。。有什么想法吗?

基于24小时时钟的小时间隔

  • 创建代表当前时间(上午9:00)的DateTime
  • 创建代表时间间隔(4小时)的TimeSpan
  • 使用DateTime.Add(TimeSpan)方法生成下一次通知的时间

12/24小时时钟根本不起作用:您可以按照您或用户的意愿格式化,使用"HH:mm"掩码设置为24小时时钟,或使用"hh:mm"掩码设置为12小时时钟。

这里有一个简短的代码示例,可以帮助您入门:

int hour = 9;
for (; hour <= 24; hour += 4)
   Console.WriteLine("Hour = " + hour % 12);

注意hour % 12的使用。

改进。。。使用%运算符。由于%的值小于实际时间(上午9:00),您知道您需要在PM中更改AM……每次结果小于实际时间时,您都必须更改AM/PM,反之亦然。

    int interval = 4;
    int current = 9;
    for(int i = current; i <= 24; i+=interval)
    {
        Console.WriteLine(i%12 + (i > 12 ? "PM" : "AM"));
    }