
Java判断一个日期几个工作日后的日期(忽略节假日)
1.前言
前几天写作业的时候碰到一道题目,题目大意如下
- 不同的物品配送速度不同,常规商品需要5个工作日,食品需要1个工作日,数码产品立即送达(通过邮箱)。根据用户的下单日期和类别判断哪天能送到(忽略节假日)。
在网上搜了一圈发现基本上都是使用的各种非常复杂的方式并且有各种兼容性问题,基本上使用的都是数组+Calendar的形式来写的。这里根据教授的提示了解到了一种非常方便的形式来解决这个问题。
2.思路
1.题目分解
首先我们需要判断是什么类型的产品,然后再根据产品对日期进行处理并切返回给用户。
2.日期格式
这道题目是用的格式为yyyy-mm-dd,所以这道题我们也需要根据这个方式来写。
3.方法
根据教授的提示Java有一个非常适合解决这个问题的类 java.time.LocalDate 这里是官方文档https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html 有兴趣的可以自行查看。根据文档我们可以获得几个方法来帮我们解决问题。
LocalDate
1 | LocalDate a = LocalDate.of(2012, 6, 30); |
plusDays
1 | a = a.plusDays(1); |
getDayOfWeek
1 | a.getDayOfWeek(); |
4.代码
下面是我们正式实现功能的函数
1 | public String purchase(String purchaseDate) { |
如果有任何问题欢迎在下面留言,转载文章请保留本文链接及我的ID
ZL Asica