求一个日期对应是星期几--Java代码

来源:互联网 发布:python recvfrom 编辑:程序博客网 时间:2024/05/16 05:16
import acm.program.*;/** * 程序功能:求某一个日期对应是星期几 *  * */public class CalculateWeekDay extends ConsoleProgram{public void run(){MyDate date = readDate("请按yyyy-MM-dd的格式输入日期:");int year = date.getYear();int month = date.getMonth();int day = date.getDay();int total,week,i;week = 1; //起始日1979-12-31是mondytotal = yearContainsDay(year);/*计算当年前几月的累计天数与total的初值之和*/for(i = 1;i<=month-1;i++){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:total += 31;break;case 4:case 6:case 9:case 11:total += 30;break;case 2:if(isLeap(year)) total += 29;else total += 28;break;}}total += day;//将本月天数加到total上week = (week + total) % 7;print("Today "+date+" is "+printWeek(week));}/** *  * @param prompt * @return a new MyDate */private MyDate readDate(String prompt){String dateStr = readLine(prompt);String[] str = dateStr.split("-");int year = Integer.parseInt(str[0]);int month = Integer.parseInt(str[1]);int day = Integer.parseInt(str[2]);return new MyDate(year,month,day);}/** * 计算year至1980年所包含的天数 * @param year * @return */private int yearContainsDay(int year){int total = 0;for(int i = 1980;i<year;i++){if(isLeap(i))total += 366;else total += 365;}return total;}private boolean isLeap(int year){return (year % 400 == 0) | (year % 4 == 0) & (year % 4 != 100);}private String printWeek(int i){switch(i){case 0:return "Sunday";case 1:return "Monday";case 2:return "Tuesday";case 3:return "Wednesday";case 4:return "Thursday";case 5:return "Friday";case 6:return "Saturday";default :return "";}}}
<pre class="java" name="code">public class MyDate {private int year;<img src="http://img.blog.csdn.net/20140602124329312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzczNTgzMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />private int month;private int day;public MyDate(int year,int month,int day){this.year = year;this.month = month;this.day = day;}int getYear(){return this.year;}int getMonth(){return this.month;}int getDay(){return this.day;}public String toString(){return this.year+"年"+this.month+"月"+day+"日";}}



0 0
原创粉丝点击