1231: 第几天
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 24 Solved: 20
[ Submit][ Status][ Web Board]
Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
HINT
Source
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class Main {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
int y,m,d;
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String s;
Scanner cin=new Scanner(System.in);
while (cin.hasNext()) {
s=cin.next();
String a[] = s.split("/");
y=Integer.parseInt(a[0]);
m=Integer.parseInt(a[1]);
d=Integer.parseInt(a[2]);
// System.out.println(y+"+ "+m+" +"+d);
java.util.Date d1 = df.parse(y+"-"+m+"-"+d);
// System.out.println(d1);
java.util.Date d2 = df.parse(y+"-"+1+"-"+1);
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
System.out.println(days+1);
}
}
}