如何在Java中减去日期?
我的心脏在内部流血,因为我不得不深入减去两个日期来计算天数的跨度:
GregorianCalendar c1 = new GregorianCalendar();
GregorianCalendar c2 = new GregorianCalendar();
c1.set(2000, 1, 1);
c2.set(2010,1, 1);
long span = c2.getTimeInMillis() - c1.getTimeInMillis();
GregorianCalendar c3 = new GregorianCalendar();
c3.setTimeInMillis(span);
long numberOfMSInADay = 1000*60*60*24;
System.out.println(c3.getTimeInMillis() / numberOfMSInADay); //3653
其中,它只有 .NET 或您命名的任何现代语言中的 2 行代码。
这是Java的残暴吗?还是有我应该知道的隐藏方法?
与其使用 GregorianCalendar,不如在 util 中使用 Date 类吗?如果是这样,我应该注意像1970年这样微妙的事情吗?
谢谢