仅显示分钟可被5整除的时间

时间:2019-02-11 21:11:09

标签: c#

我只想显示时间,将分钟数除以5(即1:00、2:05、3:45等)。

尽管输出时间,但我得到的时间是10:00、10:01、10:02、10:03和10:04。永远不要10:05。并且分钟始终在0到4之间。

小时和分钟是独立的整数

我在做什么错了?

     public string TimeAsText {
         get {
              return Hours.ToString().PadLeft(2, '0') + ":" + (Minutes % 5).ToString().PadLeft(2, '0');
         }
     }

2 个答案:

答案 0 :(得分:3)

取模运算符('%')返回除法的余数。你不想剩下的。您想使用余数确定输出。

//未经测试的长版

if(Minutes % 5 == 0) // IE. minutes is evenly divisible by 5
{
   return Hours.ToString().PadLeft(2, '0') + ":" + Minutes.ToString().PadLeft(2, '0');
}

//未经测试的较短版本

return Hours.ToString().PadLeft(2, '0') + ":" + (Minutes % 5 == 0) ? Minutes.ToString().PadLeft(2, '0') : "00";

答案 1 :(得分:2)

因为foreach my $id (keys %$client) { my @unique_srp_id; @unique_srp_id = uniq($hash->{$id}->{str}->{TOKEN}); print @unique_srp_id; } sub uniq { my %seen; grep !$seen{$_}++, @_; } 仅返回0、1、2、3、4。 如果您想得到5,则

(Minutes % 5)

或者,如果您想四舍五入,

public string TimeAsText {
     get {
          return Hours.ToString().PadLeft(2, '0') + ":" + ((Minutes / 5)*5).ToString().PadLeft(2, '0');
     }
 }