Java Joda time:如何将ReadablePartial规范化为预期字段?
我想要一个功能,让调用方有选择地设置一些字段,但是一些Java Joda time:如何将ReadablePartial规范化为预期字段?,java,jodatime,Java,Jodatime,我想要一个功能,让调用方有选择地设置一些字段,但是一些ReadablePartial实现不会自动“规范化”。例如,如果在Partial类中设置“年”字段,“年代”字段不可读 我能应付年、月、日、时、分的田地。是否有调用可以对这些字段进行规范化处理?我使用Period类中内置的规范化代码解决了以下问题: public static void main(String[] args) throws Exception { Partial pa = new Partial().with(Date
ReadablePartial
实现不会自动“规范化”。例如,如果在Partial
类中设置“年”字段,“年代”字段不可读
我能应付年、月、日、时、分的田地。是否有调用可以对这些字段进行规范化处理?我使用Period类中内置的规范化代码解决了以下问题:
public static void main(String[] args) throws Exception {
Partial pa = new Partial().with(DateTimeFieldType.halfdayOfDay(), 1).with(DateTimeFieldType.hourOfHalfday(), 3)
.with(DateTimeFieldType.minuteOfHour(), 34);
Period pr = new Period(zeroWithMatchingFields(pa), pa);
p(pr.getHours()); // Returns 15
}
public static Partial zeroWithMatchingFields(ReadablePartial in) {
AbstractPartial ap = in instanceof AbstractPartial ? (AbstractPartial) in : new Partial(in);
int[] zeros = new int[ap.size()];
return new Partial(ap.getFieldTypes(), zeros, in.getChronology());
}