1. java程序 輸入年月日算星期幾
沒必要那麼麻煩,即使不用Calendar也可以用Date啊,雖然已經不被鼓勵使用了
Date date = new Date() ;
date.setYear(n) ;
date.setMonth(y+1) ;
date.setDate(t) ;
System.out.println(date.getDay()+1) ;
e = date.getDay()+1 ;
這樣直接就獲取是星期幾了,e就是星期幾
如果你實在是想練習一下switch的話,main函數我改了,以下:
public static void main( String[] args )
{
int d , n , y , t , x , e , a ;
n = Integer.parseInt(JOptionPane.showInputDialog("請輸入年號")) ;
y = Integer.parseInt(JOptionPane.showInputDialog("請輸入月份")) ;
t = Integer.parseInt(JOptionPane.showInputDialog("請輸入幾號")) ;
d = n + (n - 1) / 4 - (n - 1) / 100 + (n - 1) / 400 ;
if ( n % 4 == 0 )
a = 28 ;
else
a = 29 ;
switch (y)
{
case 1 :
x = t - 1 ;
break ;
case 2 :
x = t + 30 ;
break ;
case 3 :
x = a + t + 30 ;
break ;
case 4 :
x = a + t + 31 + 30 ;
break ;
case 5 :
x = a + t + 31 + 30 + 30 ;
break ;
case 6 :
x = a + t + 31 + 30 + 31 + 30 ;
break ;
case 7 :
x = a + t + 31 + 30 + 31 + 30 + 30 ;
break ;
case 8 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 ;
break ;
case 9 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 ;
break ;
case 10 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 ;
break ;
case 11 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 31 ;
break ;
case 12 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 30 + 31 ;
break ;
default :
x = 0 ;
break ;
}
e = (d + x) % 7 ;
if ( e == 0 )
JOptionPane.showMessageDialog(null, "這天是星期天") ;
if ( !(e == 0) )
JOptionPane.showMessageDialog(null, "這天是星期" + e) ;
}
2. java給予一個日期算出當年的第幾天以及第幾周
java中Calendar類中給出了求第幾天第幾周的方法的,所以直接引用即可。
Calendar ca = Calendar.getInstance();//創建一個日期實例
ca.setTime(new Date());//實例化一個日期
System.out.println(ca.get(Calendar.DAY_OF_YEAR));//獲取是第多少天
System.out.println(ca.get(Calendar.WEEK_OF_YEAR));//獲取是第幾周
備註:此方法提供了很多方法,如查月,日等等。
3. java 給一個日期判斷是星期幾
/**
*判斷當前日期是星期幾<br>
*<br>
*@parampTime修要判斷的時間<br>
*@returndayForWeek判斷結果<br>
*@Exception發生異常<br>
*/
publicstaticintdayForWeek(StringpTime)throwsException{
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
Calendarc=Calendar.getInstance();
c.setTime(format.parse(pTime));
intdayForWeek=0;
if(c.get(Calendar.DAY_OF_WEEK)==1){
dayForWeek=7;
}else{
dayForWeek=c.get(Calendar.DAY_OF_WEEK)-1;
}
returndayForWeek;
}
4. java給予一個時間計算是當年第多少周
import java.util.Calendar;
import java.util.Date;
public class TestDate
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Calendar cal=Calendar.getInstance();
cal.setTime(new Date());
int i = cal.get(Calendar.WEEK_OF_YEAR);
System.out.println(i);
}
}