我需要一种方法,它可以给我任意随机数的小时数和分钟数。例如,如果随机数是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;
}
这就是我如何分别得到小时和分钟。如果你有一个,建议我一个更好的方法。
由于
如果随机数大于四位数? – Barry 2011-05-09 21:47:22
超过4位数字意味着超过24小时:10023/100 = 100小时 – 2011-05-09 21:52:57
如果10023应该是一个有效的输入(0小时23分钟),只需在开始时添加以下内容:someNumber = someNumber%10000.这将离开4位或更少的数字。 – 2011-05-09 22:22:20