import java.util.Calendar; import java.util.GregorianCalendar;public class DateTest { public static void main(String[] args) { int year = 2011; 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) { System.out.printf("星期天:%tF%n", calendar); } calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); if (calendar.get(Calendar.YEAR) == year) { System.out.printf("星期六:%tF%n", calendar); } } } }
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;/** * * */ public class Day { public static void main(String[] args) {
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal=Calendar.getInstance(); int i = 1; //循环基数 int year = 2007;//年份 int week = Calendar.MONDAY;//指定的星期 cal.set(Calendar.YEAR, year); for( i= 1; i <= 365/7;i++ ){ cal.set(Calendar.WEEK_OF_YEAR, i); cal.set(Calendar.DAY_OF_WEEK, week); System.out.println(df.format(cal.getTime())); } cal.set(Calendar.WEEK_OF_YEAR, i); cal.set(Calendar.DAY_OF_WEEK, week);
int otherYear = cal.get(Calendar.YEAR); if(year==otherYear) System.out.println(df.format(cal.getTime()));
} }
回楼主在这里是可以这样滴,365/7和366/7结果都是一样的。哥们!import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;/** * * */ public class Day { public static void main(String[] args) {
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal=Calendar.getInstance(); int i = 1; //循环基数 int year = 2007;//年份 int week = Calendar.MONDAY;//指定的星期 cal.set(Calendar.YEAR, year); for( i= 1; i <= 365/7;i++ ){ //365跟366除以7的结果都是一样的,所以严谨性我觉得够。 cal.set(Calendar.WEEK_OF_YEAR, i); cal.set(Calendar.DAY_OF_WEEK, week); System.out.println(df.format(cal.getTime())); } cal.set(Calendar.WEEK_OF_YEAR, i);//存在一种可能,在最后不满足一周的情况下还存在指定的星期,故继续让时间往下推一周 cal.set(Calendar.DAY_OF_WEEK, week);
int otherYear = cal.get(Calendar.YEAR); if(year==otherYear)//如果还在当年,就将它取(打印)出来 System.out.println(df.format(cal.getTime()));
import java.util.GregorianCalendar;public class DateTest { public static void main(String[] args) {
int year = 2011;
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) {
System.out.printf("星期天:%tF%n", calendar);
}
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
if (calendar.get(Calendar.YEAR) == year) {
System.out.printf("星期六:%tF%n", calendar);
}
}
}
}
import java.util.Calendar;
import java.util.Date;/**
*
*
*/
public class Day { public static void main(String[] args) {
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
int i = 1; //循环基数
int year = 2007;//年份
int week = Calendar.MONDAY;//指定的星期 cal.set(Calendar.YEAR, year);
for( i= 1; i <= 365/7;i++ ){
cal.set(Calendar.WEEK_OF_YEAR, i);
cal.set(Calendar.DAY_OF_WEEK, week);
System.out.println(df.format(cal.getTime()));
}
cal.set(Calendar.WEEK_OF_YEAR, i);
cal.set(Calendar.DAY_OF_WEEK, week);
int otherYear = cal.get(Calendar.YEAR);
if(year==otherYear)
System.out.println(df.format(cal.getTime()));
}
}
回楼主在这里是可以这样滴,365/7和366/7结果都是一样的。哥们!import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/**
*
*
*/
public class Day { public static void main(String[] args) {
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
int i = 1; //循环基数
int year = 2007;//年份
int week = Calendar.MONDAY;//指定的星期 cal.set(Calendar.YEAR, year);
for( i= 1; i <= 365/7;i++ ){ //365跟366除以7的结果都是一样的,所以严谨性我觉得够。
cal.set(Calendar.WEEK_OF_YEAR, i);
cal.set(Calendar.DAY_OF_WEEK, week);
System.out.println(df.format(cal.getTime()));
}
cal.set(Calendar.WEEK_OF_YEAR, i);//存在一种可能,在最后不满足一周的情况下还存在指定的星期,故继续让时间往下推一周
cal.set(Calendar.DAY_OF_WEEK, week);
int otherYear = cal.get(Calendar.YEAR);
if(year==otherYear)//如果还在当年,就将它取(打印)出来
System.out.println(df.format(cal.getTime()));
}
}