日期的代码

分析以下需求,并用代码实现:
(1)通过键盘录入日期字符串,格式(2015-10-20)
(2)输出该日期是星期几及这一年的第几天
(3)如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是 2015年的第 293 天"

   public static void main(String[] args) throws ParseException {
        System.out.println(showDate());

    }
    //2015-10-20,输出"2015年-10月-20日 是 星期二,是  2015年的第 293 天"
    public static String showDate() throws ParseException {
        Scanner input=new Scanner(System.in);
        System.out.println("输入日期(格式为年-月-日):");
        String date=input.nextLine();
        Date d = new SimpleDateFormat("yyyy-MM-dd").parse(date);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年-MM月-dd日是E,是yyyy年的第D天");
        return sdf.format(d);


    }

编写一个方法,求两个日期之间的周数,不满一周算一周

public class Test3 {
    public static void main(String[] args) {
        System.out.println("两个日期之间相隔的周数为:"+num()+"周");
    }
    public static long num(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入第一个(年-月-日):");
        String str1=input.nextLine();
        System.out.println("请输入第二个(年-月-日):");
        String str2=input.nextLine();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Date date1= null,date2=null;
        try {
            date1 = sdf.parse(str1);
            date2 = sdf.parse(str2);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long d1=date1.getTime();
        long d2=date2.getTime();
        long d3=Math.abs((d1-d2)/1000/60/60/24);
        if (d3%7==0){
            return d3/7;
        }else {
            return d3/7+1;
        }
    }
}

你可能感兴趣的:(java)