当前位置: 首页 > 知识库问答 >
问题:

得到最后一个月的日期

暴奕
2023-03-14

我有一个LocalDateTime对象,我想得到这个月的最后一个日期。所以如果localDateTime指向今天的10月29日。我想把它改为10月31日
有没有干净简单的方法
我的想法:
一种方法是得到这个月,然后做一个转换声明。但这将是一个漫长而乏味的过程。不确定是否有内置的方法来做同样的事情

共有3个答案

端木望
2023-03-14

你问:

如何将一天中的endTime添加到localDateTime。我看到一个名为LocalTime. MAX的选项,但它添加了尾随.99999

如果要跟踪时间轴上的特定时刻,请不要使用LocalDateTime。该类缺少时区或UTC偏移的上下文。对于片刻,请使用InstantOffsetDateTime,或ZoneDateTime

YearMonth表示整个月份。

你不应该试图确定一个月的最后一刻。最后一刻是无限可分的。一般来说,定义时间跨度的最佳方法是半开放的方法,而不是完全封闭的方法。在《半开放》中,开头是包容性的,而结尾是排他性的。

因此,一天从一天的第一刻开始,一直持续到第二天的第一刻,但不包括第二天的第一刻。一个月从一个月第一天的第一刻开始,一直到下个月第一天的第一刻,但不包括下个月第一天的第一刻。

ZoneId z = ZoneId.of( "Asia/Tokyo" ) ;

YearMonth currentMonth = YearMonth.now( z ) ;
YearMonth followingMonth = currentMonth.plusMonths( 1 ) ;

ZonedDateTime start = currentMonth.atDay( 1 ).atStartOfDay( z ) ;
ZonedDateTime end = followingMonth.atDay( 1 ).atStartOfDay( z ) ;

要表示这段时间,请向项目中添加三个额外的库。使用Interval类及其方便的比较方法,例如邻接重叠,以及包含

org.threeten.extra.Interval interval = Interval.of( start.toInstant() , end.toInstant() ) ; 
邵亦
2023-03-14
import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters;

public class Main {
    public static void main(String args[]) {
      LocalDateTime a = LocalDateTime.of(2021, 10, 29, 0, 0);
      LocalDateTime b = a.with(TemporalAdjusters.lastDayOfMonth());
      
      System.out.println(a);
      System.out.println(b);
    }
}
崔宜修
2023-03-14

使用年度onth.at月末

LocalDate date = LocalDate.now();
YearMonth month = YearMonth.from(date);
LocalDate end = month.atEndOfMonth();
 类似资料:
  • 我不知道上个月最后一个星期一的正确日期。我认为像在这个问题中那样计算它并不是绝对正确的,并且想要拒绝常数的算术运算。此代码按预期工作: 但是当我设置至1,在建造商主体的第二条指示中返回2月的第一个星期一。我希望函数在1月26日返回给我,但现在是2月2日。我认为这是因为2月1日是星期天,但例如,对于三月代码是正确的。 请帮帮我,我很困惑)

  • 问题 你需要去找出一个月的最后一天,但是一年中的各月并没有一个固定时间表。 解决方案 利 用JavaScript 的日期下溢来找到给出月份的第一天: now = new Date lastDayOfTheMonth = new Date(1900+now.getYear(), now.getMonth()+1, 0) 讨论 JavaScript 的日期构造函数成功地处理溢出和下溢情况,使日期的计算

  • 我想知道特定月份/年份的第一个星期一的日期。 我所拥有的: 我基本上有两个int变量,一个代表年份,一个代表月份。 我想要的是: 我想知道这个月的第一个星期一,最好是整数或整数值。 例如: 我有2014年和1月,这个月的第一个星期一是6号,所以我想返回6号。 问题: 我原以为我可以用做到这一点,但我在设置日历时遇到了问题,因为只有年份和月份可用。此外,我不知道如何使用返回月份/年份的第一个星期一。

  • 问题内容: 如何使用PHP获得每月的最后一天? 鉴于: 我要2009-11-30; 并给予 我想要2009-12-31。 问题答案: 返回给定日期的月份中的天数请参阅文档以获取有关信息:

  • 问题内容: 如何在where子句中使用下个月的第一天和最后一天? 问题答案: 采用:

  • 问题内容: 我正在寻找获取上个月第一天和最后一天的最佳方法。我使用它们进行SQL查询以获取上个月的统计信息。 我认为这是最好的方法,更优化但又不那么全面,有人有另一种方法可以做到这一点吗? 谢谢!! 问题答案: 在PHP 5.3中,您可以使用类: