java 求出当月天数和有几个星期天

如题,帮忙写个算法,先谢过!
2025-02-28 23:59:06
推荐回答(1个)
回答1:

public static void main(String[] args) {
//SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
try {
System.out.println("当前月共多少天 : " + DateUtils.getDaysOfTheMonth(new Date()));
System.out.println("当前月星期天天数:"+DateUtils.getSundays(new Date()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static int getDaysOfTheMonth(Date date){//获取当月天数
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(date); // 要计算你想要的月份,改变这里即可
int days = rightNow.getActualMaximum(Calendar.DAY_OF_MONTH);

return days;
}

// 返回当月星期天数
public static int getSundays(Date dat) {
int sundays = 0;
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Calendar setDate = Calendar.getInstance();
// 从第一天开始
int day;
for (day = 1; day <= getDaysOfTheMonth(dat); day++) {
setDate.set(Calendar.DATE, day);
String str = sdf.format(setDate.getTime());
//System.out.println("str:"+str);
if (str.equals("星期日")) {
sundays++;
}
}
return sundays;
}