【发布时间】:2013-10-12 21:48:03
【问题描述】:
我正在做一个复合 if 语句来计算某个日期是否是夏令时,但是当我试图找到一种方法来计算日期是在 11 月的第一个星期日之前还是之后.有人可以帮助我吗? 这是我现在的代码:
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 语句,而不是预加载的库、方法或类。
【问题讨论】:
-
你也需要年份来确定
-
我不会将其标记为重复!他的代码有问题!我们应该帮助他,重复的根本没有回答他的问题!
-
我不明白代码特定问题如何总是被标记为重复。我怀疑这段代码之前已经发布过...... .
-
@mvp 当 OP 学习编写自己的代码时,如果一切都由库提供??