public class MainActivity extends Activity { private Button Btn1,Btn2,Btn3,Btn4;
private EditText editText1;
private TextView textView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Btn4 = (Button) findViewById(R.id.btn4);
editText1 = (EditText) findViewById(R.id.EditText1);
                textView1 = (TextView) findViewById(R.id.TextView1);、
                new TimeThread().start();

Btn4.setOnClickListener(new MyClickListener());
}
          class MyClickListener implements View.OnClickListener{ @Override
public void onClick(View v) {
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date();
String date1 = df.format(currentTime);
try 
{
int I1 = editText1.length();
/* int I2 = editText2.length();
int I3 = editText3.length();
int I4 = editText4.length();
int I5 = editText5.length();
int I6 = editText6.length();
int I7 = editText7.length();
int I8 = editText8.length();
int I9 = editText9.length();*/
//pattern matcher  /d/d/:/d/d:/d/d
if (I1 == 8)
{
CharSequence ed1 = editText1.getText();
String date2 = df.format(ed1);
try{ 
Date d1 = df.parse(date1);
Date d2 = df.parse(date2);
//计算时间差
long diff = (d1.getTime() - d2.getTime()); long day = diff / (1000 * 60 * 60 * 24);
long hour = (diff / (60 * 60 * 1000) - day *24);
long minute = (diff / (60 * 1000) - day * 24 * 60 - hour * 60);
long s = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60);
//输出时间差
System.out.println(hour + "小时" + minute + "分" + s + "秒");
textView2.setText(hour + "小时" + minute + "分");

catch(Exception e){
}
}
}
catch(Exception e)
{

}
}
}


class TimeThread extends Thread 
{
@Override
public void run() {
do {
try 
{
Thread.sleep(1000);
Message msg = new Message();
msg.what = 1;  //消息(一个整型值)
mHandler.sendMessage(msg);// 每隔1秒发送一个msg给mHandler
} catch (InterruptedException e)
{
e.printStackTrace();
}
} while (true);
}
}


private  Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what)  
{
case 1:
long sysTime = System.currentTimeMillis();
CharSequence sysTimeStr = DateFormat.format("kk:mm:ss", sysTime);
textView1.setText(sysTimeStr); //更新时间
textView3.setText(sysTimeStr);
textView5.setText(sysTimeStr);
textView7.setText(sysTimeStr);
textView9.setText(sysTimeStr);
textView11.setText(sysTimeStr);
textView13.setText(sysTimeStr);
textView15.setText(sysTimeStr);
textView17.setText(sysTimeStr);
break;
default:
break; }
}
};