利用Java计算某个日期是星期几
话不多说,下面来直接看示例代码
具体代码:
DayOfWeek4Birthday.java packagecom.gua; importjava.util.Calendar; importjava.util.GregorianCalendar; importjava.io.*; importstaticjava.lang.System.out; /** *Createdby2guaon2014/9/27. *DayOfWeek4Birthday:看看你查询的具体日子是星期几, *比如,查询谁谁的“生日对应是星期几”。 */ publicclassDayOfWeek4Birthday{ privateString[]date;//保存输入数据:年数、几月、几号。 //计算输入的日期数据对应的星期几。 privatevoidcaculateData(){ GregorianCalendargc=newGregorianCalendar(); finalchar[]day_of_week={'日','一','二','三','四','五','六'}; intyear=gc.get(Calendar.YEAR);//从当前年算起。 charweek; for(inti=year;i<=year+Integer.valueOf(date[0])-1;i++){ gc.set(i,Integer.valueOf(date[1])-1,Integer.valueOf(date[2])); week=day_of_week[gc.get(Calendar.DAY_OF_WEEK)-1]; out.println(i+"年"+date[1]+"月"+date[2]+"号是星期"+week+"。"); } } //输入日期数据。 privatevoidinputData(){ InputStreamReaderis=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(is); try{ out.print("请输入年份范围和日期,格式:年数几月几号(5915),回车结束:"); Stringin=br.readLine(); date=in.split(""); out.println("输入结果:"+date[0]+"个年数,"+date[1]+"月"+date[2]+"号。"); } catch(Exceptione){ out.println("啊哦,运行出错咯-_-。sorry!"); }finally{ try{ br.close(); is.close(); }catch(IOExceptione){ out.println("IO出错咯-_-。sorry!"); } } } publicstaticvoidmain(String[]args){ DayOfWeek4BirthdaydayOfWeek4Birthday=newDayOfWeek4Birthday(); dayOfWeek4Birthday.inputData(); dayOfWeek4Birthday.caculateData(); } }
运行,比如想看从今年算起5年内,每年的9月15号是星期几。
结果如下所示:
请输入年份范围和日期,格式:年数几月几号(5915),回车结束:5915 输入结果:5个年数,9月15号。 2014年9月15号是星期一。 2015年9月15号是星期二。 2016年9月15号是星期四。 2017年9月15号是星期五。 2018年9月15号是星期六。 Processfinishedwithexitcode0
记得用完流要关闭。
以上是JDK6的做法,在JDK7及JDK8中可以使用automaticresourcemanagement(ARM)新特性,重构inputData()方法:
//输入日期数据。 privatevoidinputData(){ try(BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in))){ out.print("请输入年份范围和日期,格式:年数几月几号(5915),回车结束:"); Stringin=br.readLine(); date=in.split(""); out.println("输入结果:"+date[0]+"个年数,"+date[1]+"月"+date[2]+"号。"); } catch(Exceptione){ out.println("啊哦,运行出错咯-_-。sorry!"); } }
当然,记得要把模块语言等级相应设置为JDK7或JDK8,JDK6及以下是不会通过的。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Java能有所帮助,如果有疑问大家可以留言交流。