方法一:
package com.lovo;
import javax.swing.JOptionPane;
public class YearTest {
/**
* 输入年月日求这个日期是该年的第几天
*/
public static void main(String[] args) {
int days = 0;//存放结果
//输入年月日
String syear = JOptionPane.showInputDialog("请输入年:","2013");
String smonth = JOptionPane.showInputDialog("请输入月:","4");
String sday = JOptionPane.showInputDialog("请输入日:","10");
//分别将年月日转为int
int year = Integer.parseInt(syear);
int month = Integer.parseInt(smonth);
int day = Integer.parseInt(sday);
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0)){
for(int i=1; i<=month;i++){
switch(i){
case 1:
days += day;
break;
case 2:
days += 31;
break;
case 3:
days += 29;
break;
case 4:
days += 31;
break;
case 5:
days += 30;
break;
case 6:
days += 31;
break;
case 7:
days += 30;
break;
case 8:
days += 31;;
break;
case 9:
days += 31;
break;
case 10:
days += 30;
break;
case 11:
days += 31;
break;
case 12:
days += 30;
break;
}
}
}
else{
for(int i=1; i<=month;i++){
switch(i){
case 1:
days += day;
break;
case 2:
days += 31;
break;
case 3:
days += 28;
break;
case 4:
days += 31;
break;
case 5:
days += 30;
break;
case 6:
days += 31;
break;
case 7:
days += 30;
break;
case 8:
days += 31;;
break;
case 9:
days += 31;
break;
case 10:
days += 30;
break;
case 11:
days += 31;
break;
case 12:
days += 30;
break;
}
}
}
JOptionPane.showMessageDialog(null, year+"年"+month+"月"+day+"日是"+year+"年的第"+days+"天");
}
}
方法二:
package com.lovo;
import javax.swing.JOptionPane;
public class YearTest {
/**
* 输入年月日求这个日期是该年的第几天
*/
public static void main(String[] args) {
int days = 0;//存放结果
int[] falgs1 = {31,29,31,30,31,30,31,31,30,31,30,31};//闰年
int[] falgs2 = {31,28,31,30,31,30,31,31,30,31,30,31};//非闰年
//输入年月日
String syear = JOptionPane.showInputDialog("请输入年:","2013");
String smonth = JOptionPane.showInputDialog("请输入月:","4");
String sday = JOptionPane.showInputDialog("请输入日:","10");
//分别将年月日转为int
int year = Integer.parseInt(syear);
int month = Integer.parseInt(smonth);
int day = Integer.parseInt(sday);
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0)){
for(int i=0; i<(month-1);i++){
days += falgs1[i];
}
days += day;
}
else{
for(int i=0; i<(month-1);i++){
days += falgs2[i];
}
days += day;
}
JOptionPane.showMessageDialog(null, year+"年"+month+"月"+day+"日是"+year+"年的第"+days+"天");
}
}
方法三:
package com.lovo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JOptionPane;
public class DayTest_2 {
/**
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
String y = JOptionPane.showInputDialog(null, "请输入年:");
String m = JOptionPane.showInputDialog(null, "请输入月:");
String d = JOptionPane.showInputDialog(null, "请输入日:");
//把输入的日期用"-"拼接
String strDate = y +"-"+ m +"-"+ d;
// 定义日历
Calendar calendar = Calendar.getInstance();
// 定义日期显示格式,并把输入的字符串转化为日期格式
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);
// 用当前输入的日期去设置日历
calendar.setTime(date);
//calendar.get(Calendar.DAY_OF_YEAR)获取日历中的一年的第几天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
}
}