java日期时间处理集合

本文主要介绍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小时制。

 

posted @ 2019-04-10 18:57  代码猫  阅读(2123)  评论(0编辑  收藏  举报