【Java】常见的日期处理案例之Calendar、LocalDateTime与LocalDate

1、近期在项目中经常使用到日期加减N天的操作,于是通过Calendar来处理的这个问题。

Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.getTime());
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.getTime());
//案例:http://m.docexcel.net/show/24_70354.html#title1

2、Calendar实测

Calendar rightNow = Calendar.getInstance();
int year = rightNow.get(Calendar.YEAR);
int month = rightNow.get(Calendar.MONTH);
int date = rightNow.get(Calendar.DATE);
int hour=rightNow.get(Calendar.HOUR_OF_DAY);
//获取上午下午
int moa=rightNow.get(Calendar.AM_PM);
if(moa==1){
  System.out.println("当前是下午");
}else{
  System.out.println("当前是上午");
}
System.out.println(year + "年" + (month + 1) + "月" + date + "日"+hour+"时");

//add方法
rightNow.add(Calendar.YEAR,5);
rightNow.add(Calendar.DATE, -10);
int year1 = rightNow.get(Calendar.YEAR);
int date1 = rightNow.get(Calendar.DATE);
System.out.println(year1 + "年" + (month + 1) + "月" + date1 + "日"+hour+"时");

3、SimpleDateFormat 的线性安全问题
在这里插入图片描述
程序员必备:Java日期处理的十个坑
https://mp.weixin.qq.com/s/-K3nZqQYQESJysfLBbxdlA

4、LocalDateTime、LocalDate、Date、String相互转化

//LocalDate转String
String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println("当前字符串日期:" + dateStr);

//String转LocalDate
LocalDate date = LocalDate.parse(dateStr);
System.out.println("日期对象:" + date); 

//LocalDateTime转String
String dateTimeStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println("当前字符串日期时间:" + dateTimeStr);

//String转LocalDateTime
LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println("当前日期时间对象:" + dateTime);

//除了上述与String类型的转化,与Date类型之间的转化也是很常见

LocalDateTime、LocalDate、Date、String相互转化大全及其注意事项
https://mp.weixin.qq.com/s/QFRc9P1ABF-FqV6TgT5cgA

死磕18个Java8日期处理,工作必用
https://mp.weixin.qq.com/s/6hqO9joqGk_y8Z5tZkBDPg

为什么建议使用你 LocalDateTime ,而不是 Date?
https://mp.weixin.qq.com/s/eFvh3wc58N4m-RQn9lvRLQ

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值