Date 类是在JDK 1.0 的时候提供的,到如今能够说是历史很是悠久了,其中有不少方法都已经弃用。java
//这样new出来的表明的是当前的时间 Date date = new Date(); //1970-1-1 00:00:00以来通过的毫秒数)来生成Date对象. Date date = new Date(long date);
/** * 获取当前的系统时间 */ private void getSystemTime() { Date date = new Date(1000); DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = format.format(date); System.out.println(time); } /** * 判断date是否在一个date以后 */ private void after() { Date date = new Date(); Date checkDate = new Date(System.currentTimeMillis() + 1000); System.out.println(date.after(checkDate)); } /** * 判断date是否在一个date以前 */ private void before() { Date date = new Date(); Date checkDate = new Date(System.currentTimeMillis() + 1000); System.out.println(date.before(checkDate)); }
由于Calendar有不少的缺陷,而且也比较老旧,JDK又提供了java.util.Calendar
类,Calendar类是一个抽象类,没有具体实现,他是一个全部日历的模板。ide
//获取公历日历 Calendar calendar = Calendar.getInstance();
//能够进行时间的加减 calendar.add(Calendar.DAY_OF_YEAR, 1); //获取不一样的时间的值 int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
/** * 將字符串转化为时间 */ private void convertStringToDate() { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //被转换的时间的格式必需要与DateFormat解析的时间格式相同 String strDate = "2018-9-19 08:11:11"; try { Date date = dateFormat.parse(strDate); String value = dateFormat.format(date); System.out.println(value); } catch (ParseException e) { e.printStackTrace(); } }
经过获取总的毫秒数,而后进行换算函数
/** * 计算两个时间之间的差值 */ private void getTimeSpan() { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date dateFirst = dateFormat.parse("2018-10-11 09:11:11"); Date dateSecond = dateFormat.parse("2018-10-10 07:11:10"); long diff = dateSecond.getTime() - dateFirst.getTime(); diff = diff / 1000; // long second = diff % 60; long minute = diff % 3600 / 60; long hour = diff % (3600 * 24) / 3600; long day = diff / (3600 * 24); String value = String.format("%S 与 %S 之间相差了 %d days %d hours %d minutes %d second", dateFormat.format(dateSecond), dateFormat.format(dateFirst), day, hour, minute, second); System.out.println(value); //2018-10-10 07:11:10 与 2018-10-11 09:11:11 之间相差了 -1 days -2 hours 0 minutes -1 second } catch (Exception e) { e.printStackTrace(); } }
除非特殊声明不然,本博客文章均属 鲁迅认识的那只猹 原创,未经许可禁止转载,不然将保留追究法律责任的权利。学习
若是本博客损害了您的相关权益,请及时联系我,我将妥善处理。 code