java程序问题计算一年中任意一天是星期几。

2013年的1月一日是星期二,求2013年任意一天是星期几的程序。初学java求教。

给你代码,你看一下。


import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
public class JudgeDate {
public static void main(String[] args) {
int year = 2013;
int month = 0;// 月是 0-11
int day = 1;
String[] weekDays = DateFormatSymbols.getInstance(Locale.CHINA)
.getWeekdays();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DATE, day);
int week = cal.get(Calendar.DAY_OF_WEEK);
System.out.print(sdf.format(cal.getTime()) + "是 ");
System.out.println(weekDays[week]);
}
}


结果

2013-01-01是 星期二

追问

能用比较简单的如switch if什么的不用类的程序吗 类方面还没怎么学。

追答

t剩下的case你自己加吧。1-7对应的是星期日,星期一。。。。。星期六

类没有学并不是说你不可以用。

日期的判断,只能用日期类来实现,除非你有一个万年历的方法,这样,还是用到类。

只能改成这样了。
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class JudgeDate {
public static void main(String[] args) {
int year = 2013;
int month = 0;// 月是 0-11
int day = 6;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DATE, day);
int week = cal.get(Calendar.DAY_OF_WEEK);
System.out.print(sdf.format(cal.getTime()) + "是 ");
switch (week) {
case 1:
System.out.println("星期日");
break;
case 2:
System.out.println("星期一");
break;
}
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-16
package fortest;
import java.util.Calendar;
public class Time{
public static void main(String[] s){
Calendar now=Calendar.getInstance();
now.set(2013,3,12);//2013年3月12日
System.out.println(now.get(Calendar.YEAR)+"年"+(now.get(Calendar.MONTH)+1)+"月"+now.get(Calendar.DAY_OF_MONTH)+"日是星期"+now.get(Calendar.DAY_OF_WEEK));
}
}

相似回答