/*** @Title testMapUtil* @Description:测试DateTime的Api* @date: 2019-10-16 10:31* @return:void*/public static void main(String[] args) {test();}/*** 获得当前时间*/public static void test(){DateTime date = DateTime.now();System.out.println(date.toLocalTime());// 时分秒System.out.println(date.toLocalDate());// 年月日System.out.println(date.toLocalDateTime());// 年月日时分秒}/*** 时间运算*/public static void test1(){DateTime date = DateTime.now();System.out.println(date.toLocalTime().minusHours(2));// 时分秒 - 时System.out.println(date.toLocalDate().minusDays(10));// 年月日 - 日System.out.println(date.toLocalDateTime().plusYears(4));// 年月日时分秒 + 年}/*** 字符串转时间*/public static void test2(){Map<String,Object> map = new HashMap();map.put("date","2019-04-19 19:49:00");DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");DateTime date = DateTime.parse(MapUtils.getString(map, "date"),dtf);System.out.println(date);}/*** 时间比较*/public static void test3(){DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");DateTime last = DateTime.parse("2019-04-19 19:49:00",dtf);DateTime now = DateTime.parse("2019-10-16 11:30:00",dtf);System.out.println(now.toLocalDate().minusDays(180).equals(last.toLocalDate()));}
优点:计算时间特别方便
缺点:mybatis和json都没有兼容
组件兼容性:
- myBatis (mybatis-spring v1.3.0) 暂不支持 localDateTime
- Json (com.fasterxml.jackson.core v2.5.4) 貌似也没特别的支持, 序列化的结果如下
总结:
当前情况下, 业务计算建议使用 LocalDateTime, 业务计算以外建议转化为 Date