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小时制。

 

转载于:https://www.cnblogs.com/codecat/p/10685380.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值