java的系统时间,怎么计算从现在到凌晨还剩下多少时间?

我使用86400000 - System.currentTimeMillis() % 86400000 得出的数据是不对的,差不多差了7个多小时,应该是多了7个多小时,这是为什么呢? 86400000是一天的ms数

public static void main(String[] args) {
    final Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) + 1);
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MILLISECOND, 0);
    final double diff = cal.getTimeInMillis() - System.currentTimeMillis();
    System.out.println(diff/86400000+" days left.");
}

追问

谢谢了

温馨提示:答案为网友推荐,仅供参考
相似回答