有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (6) 个答案

  1. # 1 楼答案

    YearMonth

    为了获得完整性,并且在我看来更加优雅,请参见^{}类的这个用法

    YearMonth month = YearMonth.from(date);
    LocalDate start = month.atDay(1);
    LocalDate end   = month.atEndOfMonth();
    

    第一及;当月的最后一天,即:

    LocalDate start = YearMonth.now().atDay(1);
    LocalDate end   = YearMonth.now().atEndOfMonth();
    
  2. # 2 楼答案

    如果有人来寻找上个月的第一天和上个月的最后一天:

    public static LocalDate firstDayOfPreviousMonth(LocalDate date) {
            return date.minusMonths(1).withDayOfMonth(1);
        }
    
    
    public static LocalDate lastDayOfPreviousMonth(LocalDate date) {
            return date.withDayOfMonth(1).minusDays(1);
        }
    
  3. # 3 楼答案

    只需使用withDayOfMonthlengthOfMonth()

    LocalDate initial = LocalDate.of(2014, 2, 13);
    LocalDate start = initial.withDayOfMonth(1);
    LocalDate end = initial.withDayOfMonth(initial.lengthOfMonth());
    
  4. # 4 楼答案

    API旨在支持与业务需求紧密匹配的解决方案

    import static java.time.temporal.TemporalAdjusters.*;
    
    LocalDate initial = LocalDate.of(2014, 2, 13);
    LocalDate start = initial.with(firstDayOfMonth());
    LocalDate end = initial.with(lastDayOfMonth());
    

    然而,Jon的解决方案也很好

  5. # 5 楼答案

    Jon Skeets的答案是正确的,值得我投赞成票,只是为了完整性添加了这个稍微不同的解决方案:

    import static java.time.temporal.TemporalAdjusters.lastDayOfMonth;
    
    LocalDate initial = LocalDate.of(2014, 2, 13);
    LocalDate start = initial.withDayOfMonth(1);
    LocalDate end = initial.with(lastDayOfMonth());
    
  6. # 6 楼答案

     LocalDate monthstart = LocalDate.of(year,month,1);
     LocalDate monthend = monthstart.plusDays(monthstart.lengthOfMonth()-1);