如何计算并知道从当前日期和时间起已完成24小时

时间:2018-08-08 07:11:13

标签: android date time

我有学生的录取清单,并且当该学生被当前日期和时间录取时,我必须用彩色显示该学生,假设今天的日期和时间像这样08/08/2018 12:36 pm通过json。 所以我必须证明有颜色的学生直到明天意味着09/08/2018 12:36 pm,我怎样才能将有颜色的学生记录保持到24小时,而在完成24小时后想要去除颜色并保持其正常。 在此先感谢。
现在我只比较日期

 if (SystemDte.equals(DataBaseDate)) {

        try {
            viw.setBackgroundColor(Color.parseColor("#ffff00"));

        } catch (Exception e) {

            e.printStackTrace();
        }
    }
    else {
        try {
            viw.setBackgroundColor(Color.parseColor("#CABBBBBB"));
        } catch (Exception e) {

            e.printStackTrace();
        }
    }

1 个答案:

答案 0 :(得分:2)

我比较了两个日期,并检查diffDays完全等于零,并且DiffHours,DiffMinute小于等于零


SimpleDateFormat格式=新

SimpleDateFormat(“ dd / MM / yyyy HH:mm”);

    Date d1 = null;

    Date d2 = null;

    try {
        d1 = format.parse(sysmDte);

        d2 = format.parse(serverDte);

        //in milliseconds
        diff = d2.getTime() - d1.getTime();


        diffMinutes = diff / (60 * 1000) % 60;

        diffHours = diff / (60 * 60 * 1000) % 24;

        diffDays = diff / (24 * 60 * 60 * 1000);

        System.out.print(diffDays + " days, ");

        System.out.print(diffHours + " hours, ");

        System.out.print(diffMinutes + " minutes,");


    } catch (Exception e) {
        e.printStackTrace();
    }
   // for version 1.6
    if (diffDays == 0 && diffHours <= 0 && diffMinutes <= 0) {
        try {
            viw.setBackgroundColor(Color.parseColor("#ffff00"));

        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        try {
            viw.setBackgroundColor(Color.parseColor("#CABBBBBB"));

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