网站首页 > 文章中心 > 其它

java放假代码

作者:小编 更新时间:2023-10-11 09:41:53 浏览量:458人看过

使用java 排除 两个日期段中的 休息日和节假日 .在线等待中十万火急,求大牛帮忙,多谢了....

总体思路:

由于节假日每年在变,所以需要罗列出所有的节假日集合A

从B中过滤掉A中的节假日

从B中过滤掉周六周日

最后把B中集合打印

结合思路,所见即所得的代码如下:

//?所有节假日的日期集合,这里你可以自己添加,只写了两个仅供参考(完成思路1)

.filter(localDate?-?!holidays.contains(localDate))

//?过滤其中的周六

.filter(localDate?-?!DayOfWeek.SATURDAY.equals(DayOfWeek.of(localDate.get(ChronoField.DAY_OF_WEEK))))

.filter(localDate?-?!DayOfWeek.SUNDAY.equals(DayOfWeek.of(localDate.get(ChronoField.DAY_OF_WEEK))))

.forEach(System.out::println);

打印的结果:

综上:结合新时间API的易用性◆Stream处理集合的快捷性,写出代码还是很简洁的

用java实现在控制台输出一年中所有节假日!

因为很多的节假日,没有规律性.所以程序实现只有写死日期.

可以做一个配置文件,手工填写假日信息,然后再由java显示出来.

用java 进行日期计算,获取当前天◆1天,周末节假日不算,在线等待中,十万火急......

迟来的答案

①周末版本(不含节假日判断)

注意:最下面是使用的 递归算法

/**

*?获得收益时间(获取当前天◆1天,周末不算).

*

*??任意日期

*???if?null?==?date

*/

private?Date?getIncomeDate(Date?date)?throws?NullPointerException{

if?(null?==?date){

throw?new?NullPointerException("the?date?is?null?or?empty!");

}

//对日期的操作,我们需要使用?Calendar?对象

Calendar?calendar?=?new?GregorianCalendar();

calendar.setTime(date);

//◆1天

calendar.add(Calendar.DAY_OF_MONTH,?◆1);

//判断是星期几

int?dayOfWeek?=?calendar.get(Calendar.DAY_OF_WEEK);

Date?incomeDate?=?calendar.getTime();

//递归

return?getIncomeDate(incomeDate);

return?incomeDate;

测试方法:

@Test

public?void?testGetIncomeDate()?throws?ParseException{

String?pattern?=?"yyyy-MM-dd?HH:mm:ss";

SimpleDateFormat?simpleDateFormat?=?new?SimpleDateFormat(pattern);

System.out.println(simpleDateFormat.format(getIncomeDate(new?Date())));

输出结果:

注意:返回的是 时间◆1的时间,精度是到毫秒 纳秒,如果有特殊需求,需要自己再处理下

if?(isWeekend(calendar)?||?isHoliday(calendar)){

*?判断一个日历是不是周末.

*??the?calendar

private?boolean?isWeekend(Calendar?calendar){

return?true;

return?false;

*?一个日历是不是节假日.

private?boolean?isHoliday(Calendar?calendar){

String?pattern?=?"yyyy-MM-dd";

String?dateString?=?simpleDateFormat.format(calendar.getTime());

//节假日?这个可能不同地区,不同年份?都有可能不一样,所以需要有个地方配置,?可以放数据库,?配置文件,环境变量?等等地方

//这里以配置文件?为例子

ResourceBundle?resourceBundle?=?ResourceBundle.getBundle("holidayConfig");

String?holidays?=?resourceBundle.getString("holiday");

String[]?holidayArray?=?holidays.split(",");

boolean?isHoliday?=?org.apache.commons.lang.ArrayUtils.contains(holidayArray,?dateString);

return?isHoliday;

配置文件:

测试方法 :

*?Testenclosing_type.

*???the?parse?exception

结果:

一段可以跳过周末和节假日的java程序怎么写

public?static?boolean?isWeekend(Date?date)?{

Calendar?cal?=?Calendar.getInstance();

cal.setTime(date);

int?result?=?cal.get(Calendar.WEEK_OF_MONTH);

if?(result?==?Calendar.SATURDAY?||?result?==?Calendar.SUNDAY)?{

这段代码只是判断是不是周末,节假日的话只能通过某些数据配置来判断了.节假日是没法计算的.

以上就是土嘎嘎小编为大家整理的java放假代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章