...问题在哪里?我不需要一年的月份,但是我在确定Dayofweek方面有问题,因为DateTime始终有一月,而不是其他月份。
@lus给出的解决方案是正确的。我提供了解释。
符号y(jodatime年代)或y(Propict ISO年)之间的选择并不那么重要,因为在我们的现代时代,这两年都有相同的数字。符号m是正确的(用于一个月)。因此,让我们专注于DD与DD。解决方案“ D”起作用是因为年度/月/月份的组合使解析器可以计算日历日期(琐碎)。如果丢失了个月的日期,那么解析器将不再仅仅用一年和一个月来构建约会日期。
那是什么?这是每年的一天。org.joda.time.chrono.StrictChronology
)。
如果我了解您需要检查您的模式:
DateTimeFormatter format = DateTimeFormat.forPattern("yyyy MM dd");
Whather
y year
d day of month
java.time.LocalDate.parse ( input.replace ( " " , "-" ) )
joda-joda-time
和Java的可怕的遗留日期班完全被现代的Java.Timetime timelime
类定义在JSR 310中,内置于Java 8+。 您可以使用
java.time.format.DateTimeFormatter
定义匹配格式。
DateTimeFormatter f = DateTimeFormatter.ofPattern ( "uuuu MM dd" ) ;
LocalDate ld = LocalDate.parse ( input , f ) ;
ISO8601格式。要完全遵守,请用
-
字符替换空间字符。
String input = "2025 01 23".replace ( " " , "-" ) ;
java.time类默认使用这些标准格式。 因此,直接解析
LocalDate ld = LocalDate.parse ( input ) ;
tip:对您的数据进行有关使用ISO 8601格式而不是发明自定义格式的发布者。