从另一个包含所有必需字段的部分中构造部分的最佳方法是什么(例如,YearMonth中的LocalDate?),我可以看到的一种方法是转换为完整的即时并返回,即

YearMonth ld2ym(LocalDate ld) {
    return new YearMonth(ld.toDateTime(DateTime.now()));
}


但似乎应该有一种更有效的方法。

最佳答案

YearMonth类上,我们可以找到此方法,它似乎提供了适当的解决方案:

/**
 * Parses a {@code YearMonth} from the specified string using a formatter.
 *
 * @param str  the string to parse, not null
 * @param formatter  the formatter to use, not null
 * @since 2.0
 */
public static YearMonth parse(String str, DateTimeFormatter formatter) {
    LocalDate date = formatter.parseLocalDate(str);
    return new YearMonth(date.getYear(), date.getMonthOfYear());
}

10-06 08:33