答案你好,你可以使用下面的代码这是我的例子鉴于您需要根据您的要求进行更改
try {
Calendar c2 = Calendar.getInstance();
SimpleDateFormat df2 = new SimpleDateFormat("HH:mm:ss aa",Locale.US);
String formattedTime = df2.format(c2.getTime());
date2 = df2.parse(formattedTime);
long mills = date2.getTime() - date1.getTime();
int Hours = (int) (mills/(1000 * 60 * 60));
int Minuets = (int) (mills/(1000*60)) % 60;
int Seconds = (int) (mills/1000) % 60;
String hr = String.format("%02d", Hours);
String min = String.format("%02d", Minuets);
String sec = String.format("%02d", Seconds);
endTime = hr + ":" + min + ":" +sec; // updated value every1 second
} catch (ParseException e) {
e.printStackTrace();
}
所以下面的功能您的问题用得到的答案,下面导入clases
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
private void cluclate()
{
Date date1,date2;
try {
String endTime;
Calendar c1 = Calendar.getInstance();
c1.add(Calendar.HOUR,12);
c1.add(Calendar.MINUTE,16);
c1.add(Calendar.SECOND,40);
SimpleDateFormat df1 = new SimpleDateFormat("HH:mm:ss", Locale.US);
String formattedTime1 = df1.format(c1.getTime());
date1 = df1.parse(formattedTime1);
Calendar c2 = Calendar.getInstance();
c2.add(Calendar.HOUR,12);
c2.add(Calendar.MINUTE,16);
c2.add(Calendar.SECOND,50);
SimpleDateFormat df2 = new SimpleDateFormat("HH:mm:ss",Locale.US);
String formattedTime2 = df2.format(c2.getTime());
date2 = df2.parse(formattedTime2);
long mills = date2.getTime() - date1.getTime();
int Hours = (int) (mills/(1000 * 60 * 60));
int Minuets = (int) (mills/(1000*60)) % 60;
int Seconds = (int) (mills/1000) % 60;
String hr = String.format("%02d", Hours);
String min = String.format("%02d", Minuets);
String sec = String.format("%02d", Seconds);
endTime = hr + ":" + min + ":" +sec; // updated value every1 second
Log.d("=============>>>>",endTime);
} catch (ParseException e) {
e.printStackTrace();
}
}
所以你想显示一个以毫秒为单位的时间差异,这取决于差异的大小吗?使用一些if语句来区分这些情况。 – Henry
[两次之间的时间差]的可能重复(https://stackoverflow.com/questions/15360123/time-difference-between-two-times) –
发布之前的搜索堆栈溢出。这个主题已经被解决*很多次了。 –