2012-03-06 3 views
1

私はこの宿題を持っており、これは与えられた問題です:java.util.Dateを使用して特定の時刻から現在の時刻までの分数を取得する方法は?

午前5時01分から午後5時まで毎分75セント、午後5:01から午後5時90分午前5時。

これは私のコードです:

double charge = 0; 

Date date = new Date(); 

if(date.getHours() >= 5 && date.getHours() <= 17) 
{ 
    charge += 0.75 * date.getMinutes(); 
    System.out.println(charge); 
} 
else 
{ 
    charge += 0.9 * date.getMinutes(); 
    System.out.println(charge); 
} 

私の問題は、date.getMinutes(ということである)だけでは5:01までの分の数になるはず 、現在の時間の現在の分を取得します同様に現在の時刻とelseステートメントに追加します。任意のアイデアみたいな?ありがとう!

答えて

1

まあ、これのためにあなたが同様に

totalHours = date.getHours() - 5; 
totalMinutes = (totalHours * 60) + date.getMinutes(); 

を行うことができ、あなたは他の部分のためにそれを書くことができます。上記の方法は推奨されていることが指摘されていたよう

は、ここにあなたがより良い、推奨されません)(Calendar

Date date = new Date(); 
Calendar calendar = GregorianCalendar.getInstance(); 
calendat.setTime(date); 

if(calendar.get(Calendar.HOUR_OF_DAY) > 5 && calendar.get(Calendar.HOUR_OF_DAY) < 17) 
{ 
    int totalHours = calendar.get(Calendar.HOUR_OF_DAY) - 5; 
    int totalMinutes = (totalHours * 60) + calendar.get(Calendar.MINUTE); 
} 

else 
{ 
    totalHours = 24 - calendar.get(HOUR_OF_DAY) + 5; 
    totalMinutes = (totalHours * 60) - (60 - calendar.get(Calendar.MINUTE); 
} 
+0

Date.getMinutesでそれを行うとCalendarクラス –

+0

を使用する方法であります実際にはdate.getHours()も廃止予定です。私は単に論理を説明していただけです: – noMAD

+0

@noMadあなたはこのtotalHours = date.getHours() - 5?thx – tddiaz

関連する問題