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

LocalTimeDate对象中的修改时间

东门秦迟
2023-03-14

在Java中给定一个LocalDateTime对象。我如何将时间设置为00:00:00?一种方法是创建一个与此日期相同的新对象,并将其设置为0。还有其他方法吗?

共有3个答案

令狐钧
2023-03-14

LocalDateTime是不可变的,这意味着您不能更改一个对象(仅创建新对象)。如果使用修改操作,则会创建另一个LocalDateTime对象。

您显然可以手动创建另一个对象,但您也可以使用. toLocalDate获取LocalDate-对象,并再次使用获取LocalDateTime-对象。. atStartOfDay

yourLocalDateTime.toLocalDate().atStartOfDay()

申屠泳
2023-03-14

如果您查看LocalDateTime,您会看到:


    /**
     * The date part.
     */
    private final LocalDate date;
    /**
     * The time part.
     */
    private final LocalTime time;

所以LocalDateTime是不可变的。这很好,因为这意味着您可以将实例传递给其他代码,而不必担心它可能会被修改,并简化了来自多个线程的访问。

我的意思是你需要创建一个新的实例来修改时间。

狄宜然
2023-03-14

给定的LocalDateTime对象不能修改,因为它们是不可变的。但是,您可以获得一个具有所需日期的新的LocalDateTime对象。

有几种方法可以做到这一点(所有方法都假设ldt是输入,而午夜是LocalDateTime类型的变量):

  1. atMidnight=ldt.with(LocalTime.MIDNIGHT)(首选方法)
  2. 午夜=ldt.truncatedTo(ChronoUnit.DAYS)
  3. 午夜=ldt.toLocalDate().atStartOfDay()

最后,如果您真正的意思是“没有时间”,那么您可以使用toLocalDate将本地日期时间转换为本地日期。

 类似资料:
  • 问题内容: 我正在尝试遍历: …并提取中的每个元素。这是我的方法: 这里的问题是对的每次调用都会从中删除元素,从而修改其大小,从而导致以下错误: 那么…当元素动态变化时,我该如何遍历其中的元素呢? 问题答案: 其他人则提到了正确的解决方案,而没有实际阐明。所以这里是: 另外,如果您想安全地在assign函数中更改映射,则需要传入迭代器(只能使用remove函数,并且只能使用一次)或条目来更改值。

  • 在Java8流中,允许我修改/更新内部的对象吗?为。:

  • 假设我有一个项集合,例如,我需要检查是否有任何项从包装类中被修改,例如,任何项的属性的值通过setter被更改: 或者另一个问题,选择的答案建议使用标记,每次修改属性时都需要升起该标记。然而,我的类实际上会变得更脏,矛盾的是,我需要修改几十个修改Item属性的方法。 有没有其他方法,最好是透明的?

  • 我一直在研究猫鼬文档,但我找不到一种方法来实现我想要做的事情。考虑一个MangGDB用户集合。还可以考虑一个包含DB集合中所有字段的蒙古人用户模式。 现在,我想登录到控制台,所有用户,但属性已更改。有点像: 用户。图例(): 给定的异步类型。find()函数我不确定这是否可以实现。我来自C#和PHP背景,只处理关系数据库,这可以通过在用户类中使用只返回所需值的函数轻松实现。 能做到吗?!

  • 你可以使用点号(.)来修改 JSON 对象的值。如: myObj.zhihu = "https://www.zhihu.com/people/leiqikui/"; 你可以使用中括号([])来修改 JSON 对象的值。如: myObj["zhihu"] = "https://www.zhihu.com/people/leiqikui/";

  • 问题内容: 在express.js中,我想在请求对象上为我的每个URI侦听器提供一个附加属性。这将提供协议,主机名和端口号。例如: 我当然可以连接req.protocol,req.host,并以某种方式绕过我的每个URI侦听器的端口号(似乎是req对象中缺少的端口号),但是我希望能够在其中进行他们所有人都可以访问此信息的方式。 此外,主机名在请求之间可能会有所不同(计算机具有多个接口),因此在启动