您的当前位置:首页正文

JavaCalendar日期“误差”问题

2024-05-16 来源:好走旅游网
JavaCalendar⽇期“误差”问题

使⽤Calendar计算⽇期需要注意的问题

1. Calendar.getInstance()⽅法

相关源码:

Gets a calendar using the default time zone and locale. The Calendar returned is based on the current time in the default timezone with the default FORMAT locale.Returns: a Calendar.

public static Calendar getInstance(){

return createCalendar(TimeZone.getDefault(),

Locale.getDefault(Locale.Category.FORMAT));}

getInstence() ⽅法基于⽅法执⾏瞬间的时间创建 Calendar 实例。所以连续两次调⽤ getInstance()⽅法返回的 Calendar 对象代表是时间不相同的。

通过执⾏以下代码可以明显的查看到这种区别:

public class Main {

public static void main(String[] args) { /*

* 计算两个⽇期之间的差值:

* ⽇期1:2020-12-31 12:30:15 * ⽇期2:2020-12-31 12:20:15 */

Calendar calendar1 = Calendar.getInstance(); Calendar calendar2 = Calendar.getInstance();

System.out.println(\"⽇期1:\" + calendar1.getTimeInMillis() + \"(毫秒)\"); System.out.println(\"⽇期2:\" + calendar2.getTimeInMillis() + \"(毫秒)\"); }}

我执⾏上⾯这段代码时的执⾏结果:

⽇期1:1598523874732(毫秒)⽇期2:1598523874755(毫秒)Process finished with exit code 0

因篇幅问题不能全部显示,请点此查看更多更全内容