當(dāng)前項(xiàng)目中用到的時(shí)間計(jì)算比較多,在此記錄,以便查用
實(shí)現(xiàn)再點(diǎn)一次退出程序
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
return false;
}
return super.onKeyDown(keyCode, event);
}
public void exit() {
if ((System.currentTimeMillis() - exitTime) > 2000) {
showMessage("再按一次退出程序");
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
}
去掉年月日
public static String time(String time) {
String str = "";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
Date dt1 = df.parse(time);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
str = sdf.format(dt1);
// mTvTime.setText(str);
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
比較兩個(gè)時(shí)間的先后順序
//type 為要轉(zhuǎn)成的類型 exapmle: "yyyy-MM-dd HH:mm:ss"
public static boolean compare_date(String DATE1, String DATE2,String type) {
boolean s = true;
// "HH:mm"
DateFormat df = new SimpleDateFormat(type);
Date dt1;
Date dt2;
try {
dt1 = df.parse(DATE1);
dt2 = df.parse(DATE2);
s = dt1.before(dt2);
} catch (Exception exception) {
exception.printStackTrace();
}
return s;
}
計(jì)算兩個(gè)時(shí)間 差
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
Date d1 = df.parse(starttime());
Date d2 = df.parse(endtime());
long diff = d2.getTime() - d1.getTime();//這樣得到的差值是微秒級(jí)別
long days = diff / (1000 * 60 * 60 * 24);
long hours = (diff - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
long minutes = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
// System.out.println("" + days + "天" + hours + "小時(shí)" + minutes + "分");
text.setText("請(qǐng)假天數(shù):" + days + "天" + hours + "小時(shí)" + minutes + "分");
} catch (Exception e) {
e.printStackTrace();
}