帮编写 java 获取星期几

[复制链接]
查看11 | 回复2 | 2007-11-11 21:35:06 | 显示全部楼层 |阅读模式
public static void displayDayOfWeek(Date date){ Calendar c = Calendar.getInstance(); c.setTime(date); int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); switch(dayOfWeek){ case 1:System.out.println("星期日!");break; case 2:System.out.println("星期一!");break; case 3:System.out.println("星期二!");break; case 4:System.out.println("星期三!");break; case 5:System.out.println("星期四!");break; case 6:System.out.println("星期五!");break; case 7:System.out.println("星期六!");break; }
回复

使用道具 举报

千问 | 2007-11-11 21:35:06 | 显示全部楼层
import java.util.*;public class WhatDay { public static void main(String[] args){int startYear = 0;try{ startYear = Integer.parseInt(args[0]);}catch(NumberFormatException e){ System.out.println("please start the program with a valid int value.");}Date date ;for(int i=startYear;i<startYear+10;i++){ date = new Date(i,1,1); System.out.print(i+" 年1月1日 是 "); convert(date.getDay());} } public static void convert(int value){switch(value){case 0: System.out.println("星期日。");break;case 1: System.out.println("星期一。");break;case 2: System.out.println("星期二。");break;case 3: System.out.println("星期三。");break;case 4: System.out.println("星期四。");break;case 5: System.out.println("星期五。");break;case 6: System.out.println("星期六。");break;} }}
回复

使用道具 举报

千问 | 2007-11-11 21:35:06 | 显示全部楼层
/*** * @param year 年份* @return */ public static boolean isLoopYear(int year){
return ((year%4==0 && year%100!=0)||(year%400==0));} /*** * @param year 年份* @return 获得当前日期的第一天是星期几*/ public static int getWeek(int year,int month){ long days=0,sum=0; final int MAX=366,MIN=365,Day_OF_WEEK=7;
for(int y=1;y<year;y++){ days=isLoopYear(y)?MAX:MIN; sum+=days;
} for(int mon=1;mon<month;mon++){ if(mon!=2){
int dy=isBig(mon)?31:30;
sum+=dy;
} else if(mon==2){
sum+=isLoopYear(year)?29:28; }
}int week=(int) ((sum+1)%Day_OF_WEEK);return week; }/*** * @param month月份* 判断是大月还是小月*/ public static boolean isBig(int month){int []mon={1,3,5,7,8,10,12};for(int i=0,size=mon.length,y=size-1;i<=size-4;i++,y--){ if(mon==month||mon[y]==month)
return true;}return false; }public static int getHowDay(int currMonth,int year){ if(currMonth==2){
if(isLoopYear(year)){
return 29;
}
else
return 28; }return isBig(currMonth)?31:30; }public static void main(final String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入年份");int year=sc.nextInt();System.out.println("请输入月份");int month=sc.nextInt();//cal.set(2012, 9, 1);int howWeek=getWeek(year, month);System.out.println(howWeek);String []weeks={"日","一","二","三","四","五","六"};for(String s:weeks){ System.out.print(s+" ");}System.out.println(); int howDays=getHowDay(month,year);for(int spc=0;spc<howWeek*3-2;spc++){ System.out.print(" "); } for(int day=1;day<=howDays;day++){
System.out.print(day+"");
if((howWeek+1)%7==0){
System.out.println();
}
howWeek++; } System.out.println( );
for(String s:weeks){
System.out.print(s+" "); }}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行