根据数字计算日期



我需要一种方法,它可以从任何随机数中给我小时数和分钟数。例如,如果随机数是 500,我希望将信息设置为 5 小时 0 分钟。另一个例子是 2359 是 23 小时 59 分钟。随机数由用户输入,我只关心小时和分钟(而不是秒)。我什至不必担心四舍五入分钟.所以我写了这个方法,这对我来说效率不高。谁能提出更好的方法?或者这足够好吗?

 private void calculateDateTime(int someNumber){
    if(someNumber<=0){
        return;
    }
  String number = Integer.toString(someNumber);
  String hrs ="";
  String mins ="00";
  if(number.length()>4){
      hrs =number.substring(0, 2);
      mins = number.substring(2,4);
  }
  else{
      float f =((float)someNumber)/100;
      String s = Float.toString(f);
      String [] splitArray = s.split("\.");
      if(splitArray.length>1) {
      hrs = splitArray[0];
      mins = splitArray[1];
      }
  }
 int hr = Integer.valueOf(hrs);
 int min = Integer.valueOf(mins);
 if(hr>=24||min>=60){
     return;
 }

这就是我分别获得人力资源和分钟数的方式。如果您有更好的方法,请给我一个更好的方法。

谢谢

用零填充输入字符串直到长度为 4,然后将字符串洒在中间?

也许:

int hours = someNumber / 100;
int minutes = someNumber % 100;
if(hours >= 24 || minutes >= 60) {
    //Do whatever
}

如果您希望您的值可重复,我会使用传入的值作为随机生成器的种子。

Random r = new Random(someNumber);
int hr = r.nextInt(24);
int min = r.nextInt(60);

相关内容

  • 没有找到相关文章

最新更新