今天翻閱 "Java 程式開發 349 例" 這本書時, 在字串那章看到一個輸入日期, 求星期幾的方法. 雖然可以用 Calendar 類別很快就可以求得, 但純用演算法求取倒很有趣, 說不定 Calendar 裡面也是這麼算的 :
public class test1 {
public static void main(String[] args) {
System.out.println(getDay(2014,4,19)); //輸出 : 六
}
public static String getDay(int y, int m, int d) {
if (m==1||m==2) {m += 12; y--;}
int week=d + 2*m + 3*(m+1)/5 + y + y/4 - y/100 + y/400 + 1;
week=week % 7;
String w="日一二三四五六".substring(week, week+1);
return w;
}
}
沒有留言:
張貼留言