永发信息网

JAVA里面怎样将一年内所有的星期六和星期天找出来然后存入到一个List类型的list里面去?

答案:1  悬赏:20  手机版
解决时间 2021-03-20 04:11
  • 提问者网友:咪咪
  • 2021-03-19 10:55
像我下面这样写代码是正确的吗吗?
import java.text.DateFormat;
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.Iterator;
import java.util.List;

public class One
{

public List getDays(Date start, Date end, String weekNum){
List list = new ArrayList();
list.add(new Date());
return list;
}
public static void main(String[] args) throws ParseException {

DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
Date start = df.parse("2014/01/01");
Date end = df.parse("2015/01/01");
One t=new One();

DateFormat dd = new SimpleDateFormat("yyyy/MM/dd");
Date date = dd.parse("2014/01/01");
int day = date.getDay();
int startSatOffset = 6-day;
System.out.println(" 星期六 "+" "+" 星期天");
for(int i=0;i<=358/7;i++)
{
Date saturday = df.parse("2014/01/"+(1+startSatOffset+i*7));
Date sunday = df.parse("2014/01/"+(1+startSatOffset+(i*7+1)));
System.out.println(df.format(saturday)+" "+df.format(sunday));
t.getDays(start, end, "6").add(saturday);
t.getDays(start, end, "7").add(sunday);

}
}

}
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-03-19 12:34
因为计算这些周六 周日 这些数据,明显使用Calendar更加适合,所以写了一个,仅供参考
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class One {
public static void main(String[] args) throws ParseException {

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
Date start = df.parse("2014/01/01");

Calendar c = Calendar.getInstance();
c.setTime(start);
int year = c.get(Calendar.YEAR);
List<String> days = new ArrayList<String>();
while (c.get(Calendar.YEAR) == year) {
if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
|| c.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
days.add(df.format(c.getTime()));
}
c.add(Calendar.DAY_OF_YEAR, 1);
}
for (int i = 0; i < days.size(); i++) {
System.out.printf("%d : %s \n",i+1,days.get(i));
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯