私は、時間間隔を hh:mm でキャプチャするプロジェクトに取り組んでいます。btnTimeOut と btnTimeIn という名前の 2 つのボタンがあり、どちらもクリックするとシステム時間をキャプチャします。要件は、hh:mm などで btnTimeOut と btnTime の間の間隔を取得することです。12:30 - 10:00 = 02:30 (hh:mm)。
現在、間隔に次のコードを使用しましたが、分などとして返されます.12:30 - 10:00 = 150分。
String timeOut = lblTimeOut.getText();
String timeIn = lblTimeIn2.getText();
SimpleDateFormat format = new SimpleDateFormat("hh:mm");
Date d1 = null;
Date d2 = null;
try {
d1 = format.parse(timeOut);
d2 = format.parse(timeIn);
}
catch (Exception e){
e.printStackTrace();
}
long diff = d2.getTime() - d1.getTime();
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);
lblSurface.setText(String.valueOf(diffMinutes));
フォームで期間を取得する方法はhh:mm
?
Joda 時刻を使用し、Invalid format: "12:19" is malformed at ":19" で戻りました。表示時間をトリガーする他のボタンについては。
DateFormat timeFormat = new SimpleDateFormat("hh:mm");
Date date = new Date();
String time = timeFormat.format(date);
lblTimeIn2.setText(time);
Timer timer = new Timer(1000, timerListener);
// to make sure it doesn't wait one second at the start
timer.setInitialDelay(0);
timer.start();
}
何が悪いのかわかりません。他のラベルの時間を表示するために joda time を使用する必要がありますか?