System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,Date()其实就是相当于Date(System.currentTimeMillis()); 因为Date类还有构造Date(long date),用来计算long秒与1970年1月1日之间的毫秒差。得到了这个毫秒数,我们自己也可以算起现在的年月日周时。
当时近期在使用new Date()方法获取系统当前时间,有时会发现得到的时间和系统时间不一致,慢了8小时,如:2020-01-08 20:24 使用此方法获取当前时间,得到的结果却是2020-01-08 12:24 为了解决这个问题,可以参考以下这串代码:
Date date = new Date();//加8个时区
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) + 8);
date = calendar.getTime();