我需要一種方法,它可以給我任意隨機數的小時數和分鐘數。例如,如果隨機數是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