java - Java中int月份之间的间隔

标签 java datetime calendar

我有两个 int 变量 monthFrommonthUntil 代表一个时间间隔。我想编写一个方法来查找是否有任何冬季月份与此间隔重叠。例如,如果 monthFrom == 3monthUntil == 5,则该方法将返回 false,如果 monthFrom == 2, monthUntil == 8 - true, if monthFrom == 10, monthUntil== 3 - true,等等。

作为 Java 初学者,我不知道该怎么做。有什么帮助吗?

最佳答案

乔,我的代码可以帮助您解决问题。 我使用 HashMap Collection 来存储月份的值,因为它包含与值(即月份名称)相对应的固定月份数。

在下面找到我的代码

public class FindWinterMonth {
HashMap<Integer, String> months = null;
public FindWinterMonth() {
    months = new HashMap<Integer, String>();
    months.put(10, "October");
    months.put(11, "November");
    months.put(12, "December");
    months.put(1, "January");
    months.put(2, "Febuary");
}

public boolean isWinterMonth(int monthFrom, int monthUntil){
    boolean isPresent = false;
    for(int i = monthFrom; i <= monthUntil; i++){
        if(months.containsKey(i)){
            isPresent = true;
        }
    }
    return isPresent;
}

public static void main(String[] args) {
    FindWinterMonth fm = new FindWinterMonth();
    boolean isWinter = fm.isWinterMonth(4,9);
    System.out.println(isWinter);
}

}

我相信它会对您有所帮助,如果有人有好的、高效的解决方案,请与我们分享。 谢谢!

关于java - Java中int月份之间的间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41345293/

相关文章:

java - 处理超过 100k 条数据记录

linux - 确定 ISO 8601 日期是否晚于 X 天的函数

javascript - Calendar.js 想要将 'February 2014' 显示为 '02 2014' (%m %Y),

ios - 如何在 iOS 中从设备中删除应用程序时删除我的应用程序日历的所有事件

java - 从 Android 上的 Google 日历获取 Activity

java - 在javafx中运行后台任务

java - MongoSocketReadException : Prematurely reached end of stream (after a period of inactivity)

java - 从另一个类更改 jTextField

python - 从字符串到带或不带毫秒的日期时间

c# - 发布到 Web 服务器后将字符串转换为 DateTime 时出错