输入一个日期,判断当前日期在当前年份是第几天?
代码如下:
package testCase;
import java.util.Scanner;
public class JudgeDayOfYear {
/* 输入某年某月某日,判断这一天是这一年的第几天? */
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);// 创建输入流扫描器
System.out.println("请输入YYYY-MM-DD格式的日期字符串:");
String line = scanner.nextLine();// 获取用户输入的一行文本
int i = orderDate(line);
System.out.println("输入的日期是当前年的第" + i + "天");
scanner.close();
}
public static int orderDate(String dateStr) {
int dateSum = 0;
int year = Integer.valueOf(dateStr.substring(0, 4));
int month = Integer.valueOf(dateStr.substring(5, 7));
int day = Integer.valueOf(dateStr.substring(8, 10));
for (int i = 1; i < month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dateSum += 31;
break;
case 4:
case 6:
case 9:
case 11:
dateSum += 30;
break;
case 2:
if (((year % 4 == 0) & (year % 100 != 0)) | (year % 400 == 0))
dateSum += 29;
else
dateSum += 28;
}
}
return dateSum = dateSum + day;
}
}`