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; }
}
};
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; }
}
};
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货