我试图从开始时间算出一个小时的间隔......
因此,如果我允许用户选择1到12之间的值,我想知道24小时制中代表的时间。
让我们说它是上午9点,他们希望在那一天每4小时收到一次通知。我需要它具有以下值:
上午09点 下午1点 下午5点 下午9点
我正在尝试使用%(模数),但我没有得到我期望的结果(4 % 24
)......有什么想法吗?
答案 0 :(得分:3)
DateTime
TimeSpan
DateTime.Add(TimeSpan)
方法生成下一个通知的时间 12/24小时时钟根本不会播放:您可以在下次您或您的用户希望的时候格式化 - 使用{{1}作为24小时制使用"HH:mm"
掩码进行掩码或12小时制。
答案 1 :(得分:0)
这是一个简短的代码示例,可帮助您入门:
int hour = 9;
for (; hour <= 24; hour += 4)
Console.WriteLine("Hour = " + hour % 12);
请注意使用hour % 12
。
答案 2 :(得分:0)
即兴创作...使用%运算符。由于%得到的值小于实际时间(上午9:00),您知道需要在PM中更改AM ...每次结果小于实际时间时,您必须更改AM / PM,反之亦然。
答案 3 :(得分:0)
int interval = 4;
int current = 9;
for(int i = current; i <= 24; i+=interval)
{
Console.WriteLine(i%12 + (i > 12 ? "PM" : "AM"));
}