/**
* 获取星期六和星期日工具类
*/
public class WeekdayUtil {
/**
* 获取当前年所有星期六
* @param year 年份
* @return 日期集合
*/
public static List<String> getSaturdayInYear(int year){
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendar.get(Calendar.YEAR) < year + 1) {
calendar.set(Calendar.WEEK_OF_YEAR, i++);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
if (calendar.get(Calendar.YEAR) == year) {
//dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year) {
dateList.add(dateFormat.format(calendar.getTime()));
}
}
return dateList;
}
/**
* 获取当前年所有星期日
* @param year 年份
* @return 日期集合
*/
public static List<String> getSundayInYear(int year){
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendar.get(Calendar.YEAR) < year + 1) {
calendar.set(Calendar.WEEK_OF_YEAR, i++);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
if (calendar.get(Calendar.YEAR) == year) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year) {
//dateList.add(dateFormat.format(calendar.getTime()));
}
}
return dateList;
}
/**
* 获取当前年所有星期六和星期日
* @param year 年份
* @return 日期集合
*/
public static List<String> getWeekendInYear(int year){
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendar.get(Calendar.YEAR) < year + 1) {
calendar.set(Calendar.WEEK_OF_YEAR, i++);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
if (calendar.get(Calendar.YEAR) == year) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year) {
dateList.add(dateFormat.format(calendar.getTime()));
}
}
return dateList;
}
/**
* 获取当前年某天到年底所有星期六
* @param year 当前年
* @param yyyy_MM_dd 某天
* @return 日期集合
*/
public static List<String> getSaturdayInYearAfterDay(int year,String yyyy_MM_dd){
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendar.get(Calendar.YEAR) < year + 1) {
calendar.set(Calendar.WEEK_OF_YEAR, i++);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
if (calendar.get(Calendar.YEAR) == year && Integer.parseInt(dateFormat.format(calendar.getTime()).replaceAll("-","")) >= Integer.parseInt(yyyy_MM_dd.replaceAll("-",""))) {
//dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year && Integer.parseInt(dateFormat.format(calendar.getTime()).replaceAll("-","")) >= Integer.parseInt(yyyy_MM_dd.replaceAll("-",""))) {
dateList.add(dateFormat.format(calendar.getTime()));
}
}
return dateList;
}
/**
* 获取当前年某天到年底所有星期日
* @param year 当前年
* @param yyyy_MM_dd 某天
* @return 日期集合
*/
public static List<String> getSundayInYearAfterDay(int year,String yyyy_MM_dd){
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendar.get(Calendar.YEAR) < year + 1) {
calendar.set(Calendar.WEEK_OF_YEAR, i++);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
if (calendar.get(Calendar.YEAR) == year && Integer.parseInt(dateFormat.format(calendar.getTime()).replaceAll("-","")) >= Integer.parseInt(yyyy_MM_dd.replaceAll("-",""))) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year && Integer.parseInt(dateFormat.format(calendar.getTime()).replaceAll("-","")) >= Integer.parseInt(yyyy_MM_dd.replaceAll("-",""))) {
//dateList.add(dateFormat.format(calendar.getTime()));
}
}
return dateList;
}
/**
* 获取当前年某天到年底所有星期六和星期日
* @param year 当前年
* @param yyyy_MM_dd 某天
* @return 日期集合
*/
public static List<String> getWeekendInYearAfterDay(int year,String yyyy_MM_dd){
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendar.get(Calendar.YEAR) < year + 1) {
calendar.set(Calendar.WEEK_OF_YEAR, i++);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
if (calendar.get(Calendar.YEAR) == year && Integer.parseInt(dateFormat.format(calendar.getTime()).replaceAll("-","")) >= Integer.parseInt(yyyy_MM_dd.replaceAll("-",""))) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year && Integer.parseInt(dateFormat.format(calendar.getTime()).replaceAll("-","")) >= Integer.parseInt(yyyy_MM_dd.replaceAll("-",""))) {
dateList.add(dateFormat.format(calendar.getTime()));
}
}
return dateList;
}
/**
* 获取当月的所有星期六
* @param year 年份
* @param month 月份
* @return 日期集合
*/
public static List<String> getSaturdayInMonth(int year, int month) {
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int daySize = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < daySize; i++) {
int week = calendar.get(Calendar.DAY_OF_WEEK);
if (week == Calendar.SATURDAY) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
/**
* 获取当月的所有星期日
* @param year 年份
* @param month 月份
* @return 日期集合
*/
public static List<String> getSundayInMonth(int year, int month) {
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int daySize = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < daySize; i++) {
int week = calendar.get(Calendar.DAY_OF_WEEK);
if (week == Calendar.SUNDAY) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
/**
* 获取当月的所有星期六和星期日
* @param year 年份
* @param month 月份
* @return 日期集合
*/
public static List<String> getWeekendInMonth(int year, int month) {
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int daySize = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < daySize; i++) {
int week = calendar.get(Calendar.DAY_OF_WEEK);
if (week == Calendar.SATURDAY ) {
dateList.add(dateFormat.format(calendar.getTime()));
}
if (week == Calendar.SUNDAY) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
/**
* 获取该月的某天到月底的所有星期六
* @param year 年份
* @param month 月份
* @param day 日期
* @return 日期集合
*/
public static List<String> getSaturdayInMonthAfterDay(int year, int month,int day) {
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, day);
int daySize = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < daySize-day+1; i++) {
int week = calendar.get(Calendar.DAY_OF_WEEK);
if (week == Calendar.SATURDAY ) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
/**
* 获取该月的某天到月底的所有星期日
* @param year 年份
* @param month 月份
* @param day 日期
* @return 日期集合
*/
public static List<String> getSundayInMonthAfterDay(int year, int month,int day) {
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, day);
int daySize = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < daySize-day+1; i++) {
int week = calendar.get(Calendar.DAY_OF_WEEK);
if (week == Calendar.SUNDAY) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
/**
* 获取该月的某天到月底的所有星期六和星期日
* @param year 年份
* @param month 月份
* @param day 日期
* @return 日期集合
*/
public static List<String> getWeekendInMonthAfterDay(int year, int month,int day) {
List<String> dateList=new ArrayList<String>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, day);
int daySize = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < daySize-day+1; i++) {
int week = calendar.get(Calendar.DAY_OF_WEEK);
if (week == Calendar.SATURDAY ) {
dateList.add(dateFormat.format(calendar.getTime()));
}
if (week == Calendar.SUNDAY) {
dateList.add(dateFormat.format(calendar.getTime()));
}
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
}
WeekdayUtil
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 Google Play应用市场对于应用的targetSdkVersion有了更为严格的要求。从 2018 年...