import javaio;
public class Leap
{
static void put(String s)
{
Systemoutprintln(s);
}
static int getWeekNum(int y,int m, int d)
{
int w;
if(m==1||m==2)
{
y--;
m=m+12;
}
w=(d+2m+3(m+1)/5+y+y/4-y/100+y/400)%7+1;
return w;
}
static int getNum(int y,int m,int d)
{
int []list={31,0,31,30,31,30,31,31,30,31,30,31};
int sum=0;
for(int i=0;i!=m-1;i++)
sum+=list[i];
if(m>=3)
sum+=(((y%100==0)||(y%100!=0&&y%4==0))29:28);
sum+=d;
return sum;
}
static int getMonthDay(int y,int m)
{
switch(m)
{
case 2:
if((y%100==0)||(y%100!=0&&y%4==0))
return 29;
else
return 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 31;
}
}
public static void main(String []args)
{
BufferedReader rd=new BufferedReader(new InputStreamReader(Systemin),1);
int y,m,d,i,j;
int[][] list=new int[6][7];
for(i=0;i!=6;i++)
{
for(j=0;j!=7;j++)
list[i][j]=0;
}
put("please enter a date:[YYYY MM DD]");
try{
y=IntegerparseInt(rdreadLine());
m=IntegerparseInt(rdreadLine());
d=IntegerparseInt(rdreadLine());
put("当年第"+getNum(y,m,d)+"日");
put("日 一 二 三 四 五 六");
j=getWeekNum(y,m,d);
int md=getMonthDay(y,m);
for(i=j;i!=md+j;i++)
list[i/7][i%7]=i-j+1;
for(i=0;i!=6;i++)
{
for(j=0;j!=7;j++)
if(list[i][j]!=0)
Systemoutprintf("%-3d",list[i][j]);
else
Systemoutprint(" ");
put("");
}
}catch(IOException ex){}
}
}
importjavatext;importjavautil;publicclassTest36{publicstaticvoidmain(String[]args){try{SimpleDateFormatfarmatter=newSimpleDateFormat("yyyy-MM-dd");Dated1,d2;intyear,month;Stringtemp;Scannerscan=newScanner(Systemin);Systemoutprint("请输入一个年月值\n年份:");year=scannextInt();Systemoutprint("月份:");month=scannextInt();MyCalendarlistCalendar(year,month);Systemoutprint("请输入一个日期(yyyy-MM-dd):");temp=scannext();d1=farmatterparse(temp);Systemoutprintln(d1toLocaleString()+"是"+MyCalendargetDayOfWeek(d1));Systemoutprint("请输入两个日期(yyyy-MM-dd)\n");Systemoutprint("日期1:");temp=scannext();d1=farmatterparse(temp);Systemoutprint("日期2:");temp=scannext();d2=farmatterparse(temp);intdiff=MyCalendardateDiff(d1,d2);Systemoutprintf("%s和%s之间相隔%d天\n",d1toLocaleString(),d2toLocaleString(),diff);}catch(Exceptione){eprintStackTrace();}}}classMyCalendar{//1)用户输入一个年份和月份,程序输出这个月的月历,每星期一行,星期天开始,星期六结束。publicstaticvoidlistCalendar(intyear,intmonth){if(month12){Systemoutprintln(month+"是非法的月份值,它的有效范围是1~12");return;}Systemoutprintln(""+year+"-"+month);Systemoutprintln("---------------------------");Systemoutprintf("%4s%4s%4s%4s%4s%4s%4s\n","Sun","Mon","Tue","Wed","Thu","Fri","Sat");try{Calendarc=CalendargetInstance();cset(year,month-1,1);intnum=getDays(year,month);//本月天数inti;for(i=0;iy2){for(i=y2;i
//1将字符串用split切割得到年月日组成的数组 String s2="2011-11-11 11:11:11";//2Calendar对象的获得,abstract并且构造函数是protected //本地时区和本地的习惯,系统日期 Calendar calendar=CalendargetInstance();//3将Calendar转换成输入的日期 用calendar对象的set(Calendar对应常量(如YEAR等),输入的对应值)方法设值//4获得判断用的值 //获得年份 int year=calendarget(CalendarYEAR); //获得这个月最多的天数 int maxDay=todaygetActualMaximum(CalendarDATE); //获得当前日期是一周中的第几天,注意这个数不代表星期几而是你电脑上日历的第几列 int weekDay=calendarget(CalendarDAY_OF_WEEK); }好了就这么多吧,有这些差不多了,还有什么继续问哈
以上就是关于做一个java日历,只输入年份,然后输入这一年一月一号是星期几,就可以直接输出这一年的日历,求解全部的内容,包括:做一个java日历,只输入年份,然后输入这一年一月一号是星期几,就可以直接输出这一年的日历,求解、在java中怎么实现日历从一月到十二月依次展开、怎样利用java程序输出一个系统日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)