I need the start date and the end date of the current month in Java. When the JSP page is loaded with the current month it should automatically calculate the start and end date of that month. It should be irrespective of the year and month. That is some month has 31 days or 30 days or 28 days. This should satisfy for a leap year too. Can you help me out with that?

我需要Java中当前月份的开始日期和结束日期。当JSP页面加载当前月份时,它应该自动计算该月份的开始和结束日期。它应该与年份和月份无关。那是一个月有31天或30天或28天。这也应该满足闰年。你可以帮帮我吗?

For example if I select month May in a list box I need starting date that is 1 and end date that is 31.

例如,如果我在列表框中选择月份,我需要开始日期为1,结束日期为31。

9 个解决方案

#1


51

There you go:

你去:

public Pair<Date, Date> getDateRange() {
    Date begining, end;

    {
        Calendar calendar = getCalendarForNow();
        calendar.set(Calendar.DAY_OF_MONTH,
                calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        setTimeToBeginningOfDay(calendar);
        begining = calendar.getTime();
    }

    {
        Calendar calendar = getCalendarForNow();
        calendar.set(Calendar.DAY_OF_MONTH,
                calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        setTimeToEndofDay(calendar);
        end = calendar.getTime();
    }

    return Pair.of(begining, end);
}

private static Calendar getCalendarForNow() {
    Calendar calendar = GregorianCalendar.getInstance();
    calendar.setTime(new Date());
    return calendar;
}

private static void setTimeToBeginningOfDay(Calendar calendar) {
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);
}

private static void setTimeToEndofDay(Calendar calendar) {
    calendar.set(Calendar.HOUR_OF_DAY, 23);
    calendar.set(Calendar.MINUTE, 59);
    calendar.set(Calendar.SECOND, 59);
    calendar.set(Calendar.MILLISECOND, 999);
}

PS: Pair class is simply a pair of two values.

PS:Pair类只是一对两个值。

更多相关文章

  1. java 计算两个日期间的所有日期
  2. 黑马程序员 Java中根据YYYY-MM-DD格式的日期计算为星期几的两种

随机推荐

  1. Android 下面的一些命令
  2. Android安装和环境搭建
  3. 2019最新Android常用开源库总结(附带githu
  4. 在android中如何在代码中设置textview的
  5. Androd学习笔记——Android(安卓)Camera
  6. [Android UI界面] 求助大神!selector怎么
  7. Android内存使用研究
  8. Android滚轮实现LinearSnapHelper
  9. [android ndk]android studio动态库生成
  10. Android开发者e周报 第3期