业务逻辑中遇到日期的相关操作,整理一下小做总结
日期操作离不开 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);
以上为当前业务中所用到的及常用的一些基本方法,后续用到再补充