Mun*_*zza 9 java time android date
我有两个字符串变量,如StartTime和EndTime.我需要通过用StartTime减去EndTime来计算TotalTime.
StartTime和EndTime的格式如下:
StartTime = "08:00 AM";
EndTime = "04:00 PM";
Run Code Online (Sandbox Code Playgroud)
小时和分钟格式的总时间.如何在Android中计算?
Chi*_*rag 37
试试下面的代码.
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm a");
date1 = simpleDateFormat.parse("08:00 AM");
date2 = simpleDateFormat.parse("04:00 PM");
long difference = date2.getTime() - date1.getTime();
days = (int) (difference / (1000*60*60*24));
hours = (int) ((difference - (1000*60*60*24*days)) / (1000*60*60));
min = (int) (difference - (1000*60*60*24*days) - (1000*60*60*hours)) / (1000*60);
hours = (hours < 0 ? -hours : hours);
Log.i("======= Hours"," :: "+hours);
Run Code Online (Sandbox Code Playgroud)
输出 - 小时:: 8
注意:更正了以下由 Chirag Raval 提供的代码,因为在 Chirag 提供的代码中,当我们尝试查找 22:00 到 07:00 的时间时存在一些问题。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
Date startDate = simpleDateFormat.parse("22:00");
Date endDate = simpleDateFormat.parse("07:00");
long difference = endDate.getTime() - startDate.getTime();
if(difference<0)
{
Date dateMax = simpleDateFormat.parse("24:00");
Date dateMin = simpleDateFormat.parse("00:00");
difference=(dateMax.getTime() -startDate.getTime() )+(endDate.getTime()-dateMin.getTime());
}
int days = (int) (difference / (1000*60*60*24));
int hours = (int) ((difference - (1000*60*60*24*days)) / (1000*60*60));
int min = (int) (difference - (1000*60*60*24*days) - (1000*60*60*hours)) / (1000*60);
Log.i("log_tag","Hours: "+hours+", Mins: "+min);
Run Code Online (Sandbox Code Playgroud)
结果将是:小时:9,分钟:0
| 归档时间: |
|
| 查看次数: |
29593 次 |
| 最近记录: |