1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java中判断当前日期是星期几

java中判断当前日期是星期几

时间:2024-06-10 13:48:26

相关推荐

java中判断当前日期是星期几

在券商实际开发过程中,在做定投的时候,如果选择定投周期为周,那么就需要判断当前日期处于周几,如果处于周一-周五,正常扣款,如果处于星期天,延迟到下一周的交易日进行扣款。

使用java.util.Calendar进行当前日期的周几判断,是日历操作的工具类。

String debitDate="";//扣款日期Date date=null;/*** 计算下一个扣款日* 0-每周 1-每月*/String today=DateUtils.getNowDateTime();//获取今天的日期//开始日期大于当前,取开始日期进行比较,否则取当天进行比较if(pareTo(today) > 0){SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");date = format.parse(beginDate);}else{date = new Date();}if ("0".equals(surelyType)) {//每周//如果扣款日期大于今天,则取本周的//如果扣款日期小于等于今天,则取下个周Calendar cal = Calendar.getInstance(Locale.CHINA);cal.setTime(date);cal.setFirstDayOfWeek(Calendar.MONDAY);//将每周第一天设为星期一,默认是星期天int week = cal.get(Calendar.DAY_OF_WEEK)-1;//获取指定日期的周几if(week==0)week=7;if (Integer.valueOf(surelyDate) >= week) {//如果周几类型大于等于当前周几,去当前日期cal.set(Calendar.DAY_OF_WEEK, Integer.valueOf(surelyDate) + 1);//星期}else{cal.add(Calendar.WEEK_OF_MONTH, 1);//周数加1,即下周cal.set(Calendar.DAY_OF_WEEK, Integer.valueOf(surelyDate) + 1);//星期}debitDate = DateHelper.formatDate(cal.getTime(), "yyyy-MM-dd");}else if("1".equals(surelyType)){//每月//如果扣款日大于今天,则去本月的//如果扣款日小于今天,则去下个月if (surelyDate.length()==1) {surelyDate="0"+surelyDate;}if (Integer.valueOf(surelyDate)>=Integer.valueOf(DateHelper.formatDate(date, "dd"))) {debitDate=DateHelper.formatDate(date, "yyyy-MM")+"-"+surelyDate;}else{debitDate = DateHelper.formatDate(DateUtils.subMonth(date, 1), "yyyy-MM") + "-" + surelyDate;}}

这是只判断了周和月的定投,其中:

surelyType:定投类型0-每周 1-每月

surelyDate:定投日期:如果定投类型是每周,那么定投日期值范围为:1-5,如果定投类型为每月,那么定投日期值范围为:1-28

beginDate:开始日期:格式yyyyMMdd hh:mm:ss

这边计算出下一个扣款日后,去柜台获取当前扣款日的交易日。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。