本文主要介绍java中日期时间的处理,包括获取时间,时间相加减,格式化等操作。
持续更新中...
时间格式化
//时间格式化 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
获取当前时间
//获取当前时间 Date currentTime = new Date(); System.out.println(String.format("系统当前时间:%s",dateFormat.format(currentTime))); //输出 2019-04-11 11:07:57
时间字符串转日期类型
//时间字符串转日期类型,以下时间加减均以此时间为基础 String strTime = "2019-04-10 18:18:78"; Date fixedTime; try{ //特定时间字符串转为日期类型,需要处理ParseException异常 //注意,时间字符串格式要与dateFormat定义的一致,否则引发异常 fixedTime = dateFormat.parse(strTime); } catch (ParseException ex){ fixedTime = new Date(); ex.printStackTrace(); } System.out.println(String.format("字符转换时间:%s,以下时间加减均以此时间为基础",dateFormat.format(fixedTime))); //输出 字符转换时间:2019-04-10 18:19:18,以下时间加减均以此时间为基础
使用Calendar来实现日期加减1小时,1天,1个月和1年
//使用Calendar来实现加减1小时,1天,1个月和1年 Calendar calendar = Calendar.getInstance(); //指定时间减1小时 calendar.setTime(fixedTime); calendar.add(Calendar.HOUR_OF_DAY, -1); System.out.println(String.format("1小时之前的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间加1小时 calendar.setTime(fixedTime); calendar.add(Calendar.HOUR_OF_DAY, 1); System.out.println(String.format("1小时之后的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间减1天 calendar.setTime(fixedTime); calendar.add(Calendar.DAY_OF_YEAR, -1); System.out.println(String.format("1天之前的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间加1天 calendar.setTime(fixedTime); calendar.add(Calendar.DAY_OF_YEAR, 1); System.out.println(String.format("1天之后的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间减1个月 calendar.setTime(fixedTime); calendar.add(Calendar.MONTH, -1); System.out.println(String.format("1个月之前的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间加1个月 calendar.setTime(fixedTime); calendar.add(Calendar.MONTH, 1); System.out.println(String.format("1个月之后的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间减1年 calendar.setTime(fixedTime); calendar.add(Calendar.YEAR, -1); System.out.println(String.format("1年之前的时间:%s", dateFormat.format(calendar.getTime()))); //指定时间加1年 calendar.setTime(fixedTime); calendar.add(Calendar.YEAR, 1); System.out.println(String.format("1年之后的时间:%s", dateFormat.format(calendar.getTime()))); //输出 10分钟之前的时间:2019-04-10 18:09:18 10分钟之后的时间:2019-04-10 18:29:18 1小时之前的时间:2019-04-10 17:19:18 1小时之后的时间:2019-04-10 19:19:18 1天之前的时间:2019-04-09 18:19:18 1天之后的时间:2019-04-11 18:19:18 1个月之前的时间:2019-03-10 18:19:18 1个月之后的时间:2019-05-10 18:19:18 1年之前的时间:2018-04-10 18:19:18 1年之后的时间:2020-04-10 18:19:18
注意:Calendar.HOUR_OF_DAY是24小时制,Calendar.HOUR是12小时制。