Android 获取系统时间或者两个时间差

        记录一下,有个需求是关于时间的倒计时的判断的,在网上找了很多资料,整理了一下对自己有用的

           

     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        /* 当前系统时间*/
                        Date date = new Date(System.currentTimeMillis());
                        String time1 = simpleDateFormat.format(date);

                        /*计算时间差*/
                        Date begin = simpleDateFormat.parse(time1);
                        Date end = simpleDateFormat.parse(time2);
                        long diff = end.getTime() - begin.getTime();
                        /*计算天数*/
                        long days = diff / (1000 * 60 * 60 * 24);
                        /*计算小时*/
                        long hours = (diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
                        /*计算分钟*/
                        long minutes = (diff % (1000 * 60 * 60)) / (1000 * 60);
                        /*计算秒*/
                        long seconds = (diff % (1000 * 60)) / 1000;
                        /*  输出
                             System.out.println("保鲜的日期时间差:" + days + "天" + hours + "小时" + minutes + "分" + seconds + "秒");*/
                        daojishi = days + "-" + hours + "-" + minutes + "-" + seconds;
                        System.out.println("日期时间差==" + daojishi);

我这边是time1  是获取当前手机上的时间, time2 是获取数据库上的保存的时间  格式为:2019-4-13 10:23:54   当然这种格式是不能用于计算的 ,我们用 simpleDateFormat.parse(time1) 转换一才可以用于加减运算,我这边用的时间减运算。

这样就可以得到你想要的时间差了,这样虽然可以,但是他会出现负数,这是我们不想要的结果,我们可以根据天、小时,分钟,秒  来进行判断他的值  

   /*时间判断/
     if (days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0) {

            System.out.println("时间已过期");
        }else{
            System.out.println("时间有效");

       }

   我就不把实际的运行结果,放出来了 ,我们可以看自己的需要来使用吧。

猜你喜欢

转载自blog.csdn.net/qq_36771930/article/details/89277820