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();
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); //更新时间
break;
default:
break;
}
}
};