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