利用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能有所帮助,如果有疑问大家可以留言交流。