取得某一年的所有周六,周日的程序.

qlknight 2007-11-19 03:18:52
有没有人写过输入一个年份,
输入该年的所有周六,周日的程序.

如果没有的话也可以给个建议.

谢谢
...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hrcdg 2007-11-20
  • 打赏
  • 举报
回复

回楼主

在这里是可以这样滴,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()));

}
}



qlknight 2007-11-19
  • 打赏
  • 举报
回复
回3楼,
用365作为循环条件不太严谨吧.
hrcdg 2007-11-19
  • 打赏
  • 举报
回复


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()));

}
}

  • 打赏
  • 举报
回复
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);
}
}
}
}
yoyo82 2007-11-19
  • 打赏
  • 举报
回复
mark

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧