计算当前和未来时间之间的时差

Pra*_*hur 4 java android

我想计算当天时间(2012年10月1日上午11点)和同一天午夜时间(晚上11点59分59秒,2012年10月1日)的时间差(毫秒).

我试过这个

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.SECOND, 59);
    cal.add(Calendar.HOUR, 23);
    cal.add(Calendar.MINUTE, 59);
        cal.getTime().getTime() - today.getTime();
Run Code Online (Sandbox Code Playgroud)

今天是今天的日期.

但是当我打印出长时间的cal值和今天的时间差时,如果是86400大约一天.

iTu*_*rki 10

cal.set()而不是cal.add()

Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, 59);
cal.set(Calendar.HOUR, 23);
cal.set(Calendar.MINUTE, 59);

long diff = cal.getTime().getTime() - today.getTime();
Run Code Online (Sandbox Code Playgroud)


Roh*_*ain 5

您可以将日期设置为新创建的Calendar实例..然后使用将其与当前实例进行比较 getTimeInMillis()

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
cal.set(Calendar.DATE, 1);
cal.set(Calendar.MONTH, 9);
cal.set(Calendar.YEAR, 2012);

long difference = cal.getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)