特定の日付が夏時間かどうかを計算する複合 if 文を実行していますが、日付が 11 月の第 1 日曜日より前か後かを計算する方法を見つけようとして行き詰まりました。誰かが私を助けることができますか?ここに私のコードがあります:
public class Lab5 {
/**
* Return true if the given date/time is daylight savings.
* Daylight savings time begins 2am the second Sunday of March and ends 2am the first Sunday of November.
*
* @param month - represents the month with 1 = January, 12 = December
* @param date - represents the day of the month, between 1 and 31
* @param day - represents the day of the week with 1 = Sunday, 7 = Saturday
* @param hour - represents the hour of the day with 0 = midnight, 12 = noon
*
* Precondition: the month is between 1 and 12, the date is between 1 and 31, the day is between 1 and 7
* and the hour is between 0 and 23.
*/
public static boolean isDayLightSavings (int month, int date, int day, int hour) {
if (month == 1 || month == 2 || month == 12)
return false;
else if (month == 11) {
if (day == 1 && hour < 2 && date < 8)
return true;
else
return false;
}
else
return true;
}
}
編集:私の質問は十分に明確ではなかったと思います。11月の最初の日曜日を見つける方法を知っています
else if (month == 11) {
if (day == 1 && hour < 2 && date < 8)
私ができないように見えるのは、私の日付がこの 11 月の最初の日曜日より前か後かを調べることです。そして、プリロードされたライブラリ、メソッド、またはクラスではなく、if ステートメントを使用してそれを行う必要があります。