一些时间计算转换的记录

当前项目中用到的时间计算比较多,在此记录,以便查用

实现再点一次退出程序
    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;
    }
比较两个时间的先后顺序
//type 为要转成的类型   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;
    }
计算两个时间 差
         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();//这样得到的差值是微秒级别

                    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 + "小时" + minutes + "分");
                    text.setText("请假天数:" + days + "天" + hours + "小时" + minutes + "分");

                } catch (Exception e) {
                    e.printStackTrace();
                }



推荐阅读更多精彩内容

  • 在一个大单一个大单之间,我们还是要思考有没有副业可以顺带做做,能够弄出点利润养养团队,关键时候也能给点流量,打打侧...
    淡尽相思阅读 38评论 0 0
  • 作为一个三十而立的大龄未婚女青年,这些年来,我有过几段情,恋过几个人,红过几回眼角,醉过几场饭局,留过几次心伤,写...
    胡木木001阅读 71评论 0 0