gpt4 book ai didi

java - JodaTime 月底换算

转载 作者:行者123 更新时间:2023-12-02 01:53:48 24 4
gpt4 key购买 nike

我得到了非常直接的DateConverter方法,可以将String转换为org.joda.time.DateTime

public class DateConverter {
private static final DateTimeFormatter DATE_TIME_FORMATTER =
DateTimeFormat
.forPattern( "yyyy-MM-dd HH:mm:ss Z")
.withZone( DateTimeZone.forID("Europe/Warsaw") );

public static DateTime toDateTime(String value) {
return DateTime.parse(value, DATE_TIME_FORMATTER);
}
}

现在测试一下,

 String okDate = "2018-10-28 00:00:00 +0200";
String wrongDate = "2018-10-29 00:00:00 +0200";

System.out.println("Ok result: " + DateConverter.toDateTime(okDate));
System.out.println("Wrong result: " + DateConverter.toDateTime(wrongDate));

这给我留下了输出:

Ok result: 2018-10-28T00:00:00.000+02:00
Wrong result: 2018-10-28T23:00:00.000+01:00

直到月底的所有日子,29日、30日、31日都像28日一样。剩下的日子还好。有人可以帮助我了解这里发生了什么吗?我犯的错误在哪里?

最佳答案

呃。您指定的时区在该日期发生了夏令时更改,因此可以按预期工作。

如果您想输入本地日期时间,您不希望格式中包含 Z。

关于java - JodaTime 月底换算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52592514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com