業務邏輯中遇到日期的相關操作,整理一下小做總結
日期操作離不開 java.util.Calendar 和 java.util.Date ,實體類中日期字段設計也可能用到java.sql.Date。但目前使用中,Calendar為主,Date輔助,而且Date中的許多方法已過時,Calendar可99%替代,1%也是類型轉換時的臨時需要。這里僅結合實際使用簡單匯總如下:
// 獲取當前各自日期實例 Calendar calendar = Calendar.getInstance(); Date date = new Date(); // 相互轉換 Date temp = calendar.getTime(); calendar.setTime(date); // 設置時分秒,Calendar完全替換Date calendar.set(Calendar.HOUR_OF_DAY,9); calendar.set(Calendar.MINUTE,30); calendar.set(Calendar.SECOND,0); // 時間比較,Calendar完全替換Date+1 Calendar calendar1 = Calendar.getInstance(); // before/after參數可為Calendar或Date Boolean tem = calendar.before(calendar); Boolean tem1 = calendar.after(calendar); Boolean tem2 = calendar.after(date); // 日期格式轉換,commons-lang // 日期轉字符串 Date--String String dateStr = DateFormatUtils.format(date,"yyyy-MM-dd HH:MM:SS"); // 字符串轉日期 String--Date String[] pattern = new String[]{"yyyy-MM","yyyyMM","yyyy/MM", "yyyyMMdd","yyyy-MM-dd","yyyy/MM/dd", "yyyyMMddHHmmss", "yyyy-MM-dd HH:mm:ss", "yyyy/MM/dd HH:mm:ss"}; String test = "2018-5-22"; Date date1 = DateUtils.parseDate(test, pattern);
以上為當前業務中所用到的及常用的一些基本方法,后續用到再補充