62,621
社区成员
发帖
与我相关
我的任务
分享
/**
* 获取指定日期为本月的第几周
* @param date
* @return
*/
public int getWeekOfMonth(String date){
Calendar c = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = null;;
try {
d = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(d);
return c.get(Calendar.WEEK_OF_MONTH);
}
public List<String> getWeekDateByWeekInMonth(int year, int month, int weekCount) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.WEEK_OF_MONTH, weekCount);
int day = cal.get(Calendar.DAY_OF_YEAR);
List<String> date = new ArrayList<String>();
int[] days = new int[7];
for (int i = 0; i < 7; i++) {
days[i] = cal.get(Calendar.DAY_OF_MONTH);
String moth = cal.get(Calendar.MONTH) + 1 + "";
String dy = cal.get(Calendar.DAY_OF_MONTH)+"";
date.add(year+"-"+range(moth,2)+"-"+range(dy,2));
day++;
cal.set(Calendar.DAY_OF_YEAR, day);
}
return date;
}
int year = 2012;
int mouth = 8;
int weekCount = 4;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH,mouth-1);
cal.set(Calendar.WEEK_OF_MONTH, weekCount);
int day = cal.get(Calendar.DAY_OF_MONTH);
for(int i=0;i<7;i++){
cal.set(Calendar.DAY_OF_MONTH, (day+i));
String date = cal.get(Calendar.YEAR)+"-"+String.format("%02d", cal.get(Calendar.MONTH))+"-"
+String.format("%02d", cal.get(Calendar.DAY_OF_MONTH));
System.out.println(date);
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
public class Test11 {
/**
* 获取指定日期为本月的第几周
*
* @param date
* @return
*/
public int getWeekOfMonth(String date) {
Calendar c = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = null;
try {
d = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(d);
return c.get(Calendar.WEEK_OF_MONTH);
}
public List<String> getWeekDateByWeekInMonth(int year, int month,
int weekCount) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.WEEK_OF_MONTH, weekCount);
int day = cal.get(Calendar.DAY_OF_YEAR);
List<String> date = new ArrayList<String>();
int[] days = new int[7];
for (int i = 0; i < 7; i++) {
days[i] = cal.get(Calendar.DAY_OF_MONTH);
String moth = cal.get(Calendar.MONTH) + 1 + "";
String dy = cal.get(Calendar.DAY_OF_MONTH) - 1 + "";
date.add(year + "-" + range(moth, 2) + "-" + range(dy, 2));
day++;
cal.set(Calendar.DAY_OF_YEAR, day);
}
return date;
}
private String range(String moth, int i) {
while (moth.length() < i) {
moth = "0" + moth;
}
return moth;
}
public static void main(String []args){
System.out.println(new Test11().getWeekDateByWeekInMonth(2012, 7, 2) );
}
}