私は次の形式で時間を持っています。
String deptTime ="08:00 PM";
String arrTime = "04:00 AM";
1時間30分などの言葉で正確に差時間を取得する方法..
私は次の形式で時間を持っています。
String deptTime ="08:00 PM";
String arrTime = "04:00 AM";
1時間30分などの言葉で正確に差時間を取得する方法..
Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.HOUR, 8);
cal1.set(Calendar.AM_PM, Calendar.PM);
Calendar cal2 = Calendar.getInstance();
cal2.set(Calendar.HOUR, 4);
cal2.set(Calendar.AM_PM, Calendar.AM);
System.out.println(((cal1.getTimeInMillis()-cal2.getTimeInMillis())/1000)/3600);
apachecommons-langjarファイルを使用します。deptTimeとarrTimeをStringBufferとして使用します。
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar calendar = Calendar.getInstance();
String dateIs = dateFormat.format(calendar.getTime());
if (departureTime.reverse().substring(0,2).equalsIgnoreCase(arrivalTime.reverse().substring(0,2))) {
departureTime.reverse().insert(0, dateIs + " ");
arrivalTime.reverse().insert(0, dateIs + " ");
} else {
departureTime.reverse().insert(0, dateIs + " ");
calendar.add(Calendar.DATE, 1);
arrivalTime.reverse().insert(0,dateFormat.format(calendar.getTime()) +" ");
}
dateFormat.applyPattern("dd/MM/yyyy hh:mm aa");
Date dateOne = dateFormat.parse(departureTime.toString());
Date dateTwo = dateFormat.parse(arrivalTime.toString());
DurationFormatUtils.formatDurationHMS(dateTwo.getTime() - dateOne.getTime());
System.out.println(DurationFormatUtils.formatDurationWords(dateTwo.getTime() -
dateOne.getTime(),
true, true));