我想在 Android(Java)中创建一个类似闹钟的应用程序,我想计算剩余的小时数和分钟数。当我将闹钟设置为凌晨 1:00 时。我现在的时间是晚上 20:00,它会告诉我“5 小时后会响起警报”,但它会在 19 小时后告诉我,如何解决。
Toast.makeText(this, "Hours: " + (calendar.getTime().getHours() - timePicker.getCurrentHour()) + "Minutes: " + (calendar.getTime().getMinutes() - timePicker.getCurrentMinute()) , Toast.LENGTH_SHORT).show();
最佳答案
尝试这样的事情:
Calendar cal = Calendar.getInstance();
int hrs = cal.get(Calendar.HOUR_OF_DAY);
Calendar alCal = Calendar.getInstance();
alCal.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
alCal.set(Calendar.MINUTE, timePicker.getCurrentMinute());
if(timePicker.getCurrentHour() < hrs){
alCal.add(Calendar.DAY_OF_MONTH, 1);
}
long diff = alCal.getTimeInMillis() - cal.getTimeInMillis();
long leftHrs = (diff / (60 * 60 * 1000));
long leftMin = (diff / (60 * 1000)) - (leftHrs * 60);
// Output
Toast.makeText(this,"Hours: "+leftHrs+"Minutes: "+leftMin,Toast.LENGTH_SHORT).show();
关于java - 如何计算到设定时间的剩余时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53971475/