【问题标题】:How to get Start date and end date of month?如何获取月份的开始日期和结束日期?
【发布时间】:2018-09-28 05:52:59
【问题描述】:

我正在使用这个库CalnderView 有谁知道如何获取月份的结束日期和最后日期?

【问题讨论】:

  • 我投了反对票,因为问题不清楚:这个月,任何一个月?作为日历视图的限制或只是在您的代码中?也因为我没有看到任何搜索,没有研究,没有尝试自己解决您的问题。
  • 好的,谢谢你的指导,我会记住的。

标签: android android-calendar


【解决方案1】:

它与任何图书馆无关,但你可以得到它。

Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);

这将返回当前月份的实际最大值。

【讨论】:

  • 为什么人们会拒绝对我的问题投票?这是一个错误的问题吗?
  • @mykieejass 有时人们不会那样做……这就是 SOF 的标准问题……在对 SOF 的描述中了解这一点……:)
  • 这是老式的方式。您可能更喜欢LocalDate.now(yourTimeZone).with(TemporalAdjusters.lastDayOfMonth())。如果您的 Android 版本是新版本(API 级别 26 或更高),或者您可以负担得起外部库(搜索 ThreeTenABP)。
【解决方案2】:
Used getDaterange method to get the stat and end date in month. its work for me.

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_D`enter code here`AY, 23);
    calendar.set(Calendar.MINUTE, 59);
    calendar.set(Calendar.SECOND, 59);
    calendar.set(Calendar.MILLISECOND, 999);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多