作为DateTimeFormatter.ofLocalizedDateTime(FormatStyle dateStyle, FormatStyle timeStyle)
方法的2个参数,我可以传递什么?我试图JavaDoc建议但我得到这个错误。我假设你明白DateTimeFormatter应该能够像JavaDoc所暗示的那样格式化LocalDate和/或LocalTime对象,并且我不认为我误解了,因为JavaDoc显示了它的一个示例。 :DateTimeFormatter.ofLocalizedDateTime的第二个参数的异常?
import java.time.*;
import java.util.*;
import java.time.format.*;
class Main {
public static void main(String[] args) {
LocalDate pieDay = LocalDate.of(2017, Month.JANUARY, 23);
LocalTime midnight = LocalTime.of(0,0);
LocalDateTime pieTime = LocalDateTime.of(pieDay, midnight);
DateTimeFormatter f2 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT,
FormatStyle.SHORT);
f2.format(pieDay); // Exception here at runtime
f2.format(pieTime);
}
}
这里是我的这个实验沙箱:https://repl.it/JzHb/28但请运行自己的这个代码片断的版本给它之前验证你的答案。
Exception in thread "main" java.time.temporal.UnsupportedTemporalTypeException:
Unsupported field: ClockHourOfAmPm
它说'getDefault()'方法不存在,它不。你为什么认为['FormatStyle'](https://docs.oracle.com/javase/8/docs/api/java/time/format/FormatStyle.html)有这样一种方法? – Andreas
对不起,这个混乱。我更新了我的问题。 – djangofan
当然'f2.format(pieDay)'由于**'LocalDate'没有*时间*字段**而导致'Unsupported field:ClockHourOfAmPm'失败。如果您想格式化仅限日期的值,请使用'ofLocalizedDate()'。 – Andreas