Tag: clock

C#:使用模数学递减时钟

试图用手模拟24小时时间的翻转(使用数学与使用时间跨度类)。 递增部分很容易弄清楚如何从23:00到0:00滚动,但从另一个方向走向结果却变得非常混乱。 这是我到目前为止所拥有的: static void IncrementMinute(int min, int incr) { int newMin = min + incr, hourIncrement = newMin / 60; //increment or decrement the hour if((double)newMin % 60 -1) hourIncrement = -1; Console.WriteLine(“Hour increment is {0}: “, hourIncrement); } 我发现的问题是当倒退时,如果模数在数字之间,它将不会正确递减。 例如:它是12:00并且你减去61分钟,我们知道时间将是10:59,因为从12:00到11:59,小时应该回滚1小时,然后从11:00再回来到10:59 不幸的是我计算它的方式:在这种情况下newMin%60,只抓取第一个小时回滚,但由于第二次回滚在技术上是-1.0166作为余数,并且因为mod只返回一个整数,所以它四舍五入。 我确定我在这里缺少一些基本的数学,但有人可以帮助我吗? 编辑:我已经写了很多种方式。 有些比其他人更接近,但我知道这比看起来更简单。 我知道这个看起来有点“他正在做什么”,但你应该能够看到我想要做的事情。 增加时钟并使其从23:59到0:00翻转很容易。 向后看已经certificate并不那么容易。 好的,这是带翻转的incrementMinute。 简单。 但试着倒退。 不起作用。 static void […]