- 在布局文件中添加一个TextView用来显示时间,一个Button用来获取时间:
- 在Java代码中实现按钮的点击事件,通过System.currentTimeMillis()获取当前时间并格式化成字符串显示在TextView中:
final TextView timeDisplay = (TextView) findViewById(R.id.time_display);
Button timeButton = (Button) findViewById(R.id.time_button);
timeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String time = new SimpleDateFormat("HH:mm:ss").format(new Date(System.currentTimeMillis()));
timeDisplay.setText(time);
}
});
- 如果需要在按钮点击后获取结束时间,可以在点击事件中再次调用获取时间的方法并保存时间,再次点击按钮可以根据保存的开始时间和结束时间计算出时间差:
final TextView timeDisplay = (TextView) findViewById(R.id.time_display);
Button timeButton = (Button) findViewById(R.id.time_button);
long startTime;
long endTime;
timeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(startTime == 0){
//第一次点击获取开始时间
startTime = System.currentTimeMillis();
}else{
//第二次点击获取结束时间并计算时间差
endTime = System.currentTimeMillis();
long diff = endTime - startTime;
String time = String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(diff),
TimeUnit.MILLISECONDS.toMinutes(diff) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(diff)),
TimeUnit.MILLISECONDS.toSeconds(diff) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(diff)));
timeDisplay.setText(time);
//重置开始时间
startTime = 0;
}
}
});