Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日期将分钟和秒设置为0_Java_Datetime_Java 8_Minute - Fatal编程技术网

Java日期将分钟和秒设置为0

Java日期将分钟和秒设置为0,java,datetime,java-8,minute,Java,Datetime,Java 8,Minute,我想将日期的分和秒设置为0, 但我发现这些方法已经被弃用了 Date yesterday = Date.from(Instant.now().minus(24, ChronoUnit.HOURS)); yesterday.setMinutes(0); yesterday.setSeconds(0); TL;博士 刚才跑步给了我很大的帮助 昨天,分与秒设置为0:2019-03-17T23:00+01:00[欧洲/马德里] 定义昨天 如果你打算“昨天在同一

我想将日期的分和秒设置为0, 但我发现这些方法已经被弃用了

Date yesterday = Date.from(Instant.now().minus(24, ChronoUnit.HOURS));

    yesterday.setMinutes(0);
                yesterday.setSeconds(0);
TL;博士 刚才跑步给了我很大的帮助

昨天,分与秒设置为0:2019-03-17T23:00+01:00[欧洲/马德里]

定义昨天 如果你打算“昨天在同一时间”,那并不总是24小时前。由于夏季时间(DST)和其他异常,一天可能是例如23、23、5或25小时

java.time java.time的
zoneDateTime
类是现代java日期和时间API,它考虑了时区中的时间异常。所以当你减去一天,你得到的确实是昨天的相同时间,如果这个时间存在的话

.truncatedTo(ChronoUnit.HOURS)
将所讨论时区中的分钟、秒和秒分数设置为0

您试图使用
Date
类,但在Java8中不应该这样做。它设计拙劣,而且早已过时。我发现java.time更适合使用

如果你需要一个老式的约会 对于您现在无法更改或无法负担更改的旧API,您可能需要一个
日期
。在这种情况下,仅在最后一刻转换:

    Instant yesterdayInstant = yesterday.toInstant();
    Date yesterdayDate = Date.from(yesterdayInstant);
    System.out.println("As old-fashoined Date: " + yesterdayDate);
在我的时区(欧洲/哥本哈根,目前同意欧洲/马德里),我得到

截止日期:2019年3月17日星期日23:00:00 CET

链接
解释如何使用java.time。

您使用的是
Date
类,但在Java8中不应该这样做。它设计拙劣,而且早已过时。坚持使用来自的
Instant
from。并使用
昨天=昨天.truncatedTo(ChronoUnit.HOURS)
    Instant yesterdayInstant = yesterday.toInstant();
    Date yesterdayDate = Date.from(yesterdayInstant);
    System.out.println("As old-fashoined Date: " + yesterdayDate);