您的位置:首页 > 编程语言 > Java开发

Java计算某月第几个星期几的日期

2015-10-10 15:20 405 查看
Java计算某月第几个星期几的日期

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class TheDate {
/*
* 计算某年某月第几个星期几的日期
* param wek 星期几
* param num 第几个,10为最后一个
*/
public static String getTheDate(int year, int month, int wek, int num) {
Calendar time = Calendar.getInstance();
time.set(Calendar.YEAR, year);
time.set(Calendar.MONTH, month - 1);// 注意,Calendar对象默认一月为0
int day = time.getActualMaximum(Calendar.DAY_OF_MONTH);// 本月份的天数
List<String> list = new ArrayList<String>();
String dateTime = "";
for (int i = 1; i <= day; i++) {
time.set(Calendar.DAY_OF_MONTH, i);
int weekd = time.get(Calendar.DAY_OF_WEEK) - 1;// 注意,Calendar对象默认星期天为1
if (wek >= 1 && wek <= 7) {
if (wek < 7) {
if (weekd == wek) {
String aaa = year + "-" + month + "-" + i;
list.add(aaa);
}
} else {
if (weekd == 0) {
String aaa = year + "-" + month + "-" + i;
list.add(aaa);
}
}

}

}
if (list.size() > 0 && num <= 5) {
dateTime = list.get(num - 1);
} else if (num == 10) {
dateTime = list.get(list.size() - 1);
}
return dateTime;
}

public static void main(String[] args) {
//比如父亲节:6月的第三个星期日
System.out.println(getTheDate(2015, 6, 7, 3));
}


输出:2015-6-21
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: