分析以下需求,并用代码实现:
(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;
}
}
}