第2个回答 2009-03-09
我给你写了一个 这是你的第一题 当然没全照着 你自己看吧 至于第二个题 你如果能看懂我写的这个 我想你自己就能做出来了
package test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
public class Test {
// 一天
public final static int day = 24 * 60 * 60 * 1000;
// 你要比较的DD
public final static String dateName = "星期六,星期日";
public static void main(String[] args) {
// 创建个SimpleDateFormat对象 该对象能获得日期的星期单位
SimpleDateFormat format = new SimpleDateFormat("EEE");
// 另一种格式输出日期
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 当天时间3月9号
Date time1 = new Date();
// 基于当前时间的20天前 - -
Date time2 = new Date(time1.getTime() - day * 20);
int days = 0;
//循环
for (int i = 0; time1.getTime() >= time2.getTime(); i++) {
//这里你就自己看吧。。。
Date time3 = new Date(time1.getTime() - i * day);
//分解dateName
for (StringTokenizer tokenizer = new StringTokenizer(dateName, ",",
false); tokenizer.hasMoreTokens();) {
//进行比较 如果符合标准的话 总天数+1 同时输出
if (format.format(time3).equals(tokenizer.nextToken())) {
days++;
System.out.println(format2.format(time3));
}
}
time2 = new Date(time2.getTime() + day);
}
System.out.println(format2.format(time1) + " 到 "
+ format2.format(time2) + " 之间共有 " + days + " 个星期天和星期六");
}
}