resolved = this; } else { resolved = new PartialTime(this, p); if ((flags & RESOLVE_TO_PAST) != 0) { if (resolved.compareTo(ref) > 0) { Time t = (Time) this.prev(); if (t != null) { resolved = (Time) t.resolve(ref, 0); Time t = (Time) this.next(); if (t != null) { resolved = (Time) t.resolve(ref, 0); Time t = (Time) this.prev(); if (t != null) { Time resolved2 = (Time) t.resolve(ref, 0); Time t = (Time) this.next(); if (t != null) { Time resolved2 = (Time) t.resolve(ref, 0);
@Override public Range getRange(int flags, Duration inputGranularity) { Duration d = getDuration(); if (d != null) { int padType = (flags & RANGE_FLAGS_PAD_MASK); case RANGE_FLAGS_PAD_AUTO: if (hasTime()) { granularity = SUTime.MILLIS; } else { granularity = SUTime.DAY; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_FINEST: granularity = SUTime.MILLIS; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_SPECIFIED: start = padMoreSpecificFields(granularity); break; default: ((PartialTime) start).withStandardFields();
@Override public String toFormattedString(int flags) { if (getTimeLabel() != null) { return getTimeLabel(); } String s; // Initialized below if (base != null) { // String s = ISODateTimeFormat.basicDateTime().print(base); // return s.replace('\ufffd', 'X'); DateTimeFormatter formatter = getFormatter(flags); s = formatter.print(base); } else { s = "XXXX-XX-XX"; } if (dateTimeZone != null) { DateTimeFormatter formatter = DateTimeFormat.forPattern("Z"); formatter = formatter.withZone(dateTimeZone); s = s + formatter.print(0); } return s; }
for (DateTimeFieldType dtft : dtFieldTypes) { if (p.isSupported(dtft)) { t = new PartialTime(JodaTimeUtils.discardMoreSpecificFields(p, dtft)); if (instant.isSupported(dtft)) { Partial p2 = JodaTimeUtils.getPartial(instant, p.with(dtft, 1)); t = new PartialTime(JodaTimeUtils.discardMoreSpecificFields(p2, dtft));
resolved = this; } else { resolved = new PartialTime(this, p); if ((flags & RESOLVE_TO_PAST) != 0) { if (resolved.compareTo(ref) > 0) { Time t = (Time) this.prev(); if (t != null) { resolved = (Time) t.resolve(ref, 0); Time t = (Time) this.next(); if (t != null) { resolved = (Time) t.resolve(ref, 0); Time t = (Time) this.prev(); if (t != null) { Time resolved2 = (Time) t.resolve(ref, 0); Time t = (Time) this.next(); if (t != null) { Time resolved2 = (Time) t.resolve(ref, 0);
PartialTime p = addSupported(per, 1); Period unsupported = JodaTimeUtils.getUnsupportedDurationPeriod(p.base, per); Time t = p; && JodaTimeUtils.hasField(p.base, DateTimeFieldType.monthOfYear()) && JodaTimeUtils.hasField(p.base, DateTimeFieldType.dayOfMonth())) { t = p.addUnsupported(per, 1); } else { if (JodaTimeUtils.hasField(unsupported, DurationFieldType.months()) && unsupported.getMonths() % 3 == 0 && JodaTimeUtils.hasField(p.base, JodaTimeUtils.QuarterOfYear)) { Partial p2 = p.base.withFieldAddWrapped(JodaTimeUtils.Quarters, unsupported.getMonths() / 3); p = new PartialTime(p, p2); unsupported = unsupported.withMonths(0); p = new PartialTime(p, p2); unsupported = unsupported.withMonths(0); p = new PartialTime(p, p2); unsupported = unsupported.withYears(0); && JodaTimeUtils.hasField(p.base, DateTimeFieldType.centuryOfEra())) { Partial p2 = p.base.withField(DateTimeFieldType.centuryOfEra(), p.base.get(DateTimeFieldType.centuryOfEra()) + unsupported.getYears() / 100); p = new PartialTime(p, p2); unsupported = unsupported.withYears(0);
PartialTime p = addSupported(per, 1); Period unsupported = JodaTimeUtils.getUnsupportedDurationPeriod(p.base, per); Time t = p; && JodaTimeUtils.hasField(p.base, DateTimeFieldType.monthOfYear()) && JodaTimeUtils.hasField(p.base, DateTimeFieldType.dayOfMonth())) { t = p.addUnsupported(per, 1); } else { if (JodaTimeUtils.hasField(unsupported, DurationFieldType.months()) && unsupported.getMonths() % 3 == 0 && JodaTimeUtils.hasField(p.base, JodaTimeUtils.QuarterOfYear)) { Partial p2 = p.base.withFieldAddWrapped(JodaTimeUtils.Quarters, unsupported.getMonths() / 3); p = new PartialTime(p, p2); unsupported = unsupported.withMonths(0); p = new PartialTime(p, p2); unsupported = unsupported.withMonths(0); p = new PartialTime(p, p2); unsupported = unsupported.withYears(0); && JodaTimeUtils.hasField(p.base, DateTimeFieldType.centuryOfEra())) { Partial p2 = p.base.withField(DateTimeFieldType.centuryOfEra(), p.base.get(DateTimeFieldType.centuryOfEra()) + unsupported.getYears() / 100); p = new PartialTime(p, p2); unsupported = unsupported.withYears(0);
PartialTime p = addSupported(per, 1); Period unsupported = JodaTimeUtils.getUnsupportedDurationPeriod(p.base, per); Time t = p; && JodaTimeUtils.hasField(p.base, DateTimeFieldType.monthOfYear()) && JodaTimeUtils.hasField(p.base, DateTimeFieldType.dayOfMonth())) { t = p.addUnsupported(per, 1); // new PartialTime(this, p = new PartialTime(p, p2); unsupported = unsupported.withMonths(0); p = new PartialTime(p, p2); unsupported = unsupported.withYears(0); && JodaTimeUtils.hasField(p.base, DateTimeFieldType.centuryOfEra())) { Partial p2 = p.base.withField(DateTimeFieldType.centuryOfEra(), p.base.get(DateTimeFieldType.centuryOfEra()) + unsupported.getYears() / 100); p = new PartialTime(p, p2); unsupported = unsupported.withYears(0); && !JodaTimeUtils.hasField(p.base, DateTimeFieldType.dayOfWeek()) && JodaTimeUtils.hasField(p.base, DateTimeFieldType.monthOfYear())) { Partial p2 = p.base.with(DateTimeFieldType.dayOfMonth(), unsupported.getDays()); p = new PartialTime(p, p2); unsupported = unsupported.withDays(0);
return t.intersect(this); } else if (t instanceof PartialTime) { Pair<PartialTime,PartialTime> compatible = getCompatible(this, (PartialTime) t); if (compatible == null) { return null; PartialTime res = new PartialTime(p); if (dtz != null) return res.setTimeZone(dtz); else return res; } else if (t instanceof OrdinalTime) { return t.intersect(this); } else { Time cpt = makeComposite(this, t); if (cpt != null) { return cpt;
return t.intersect(this); } else if (t instanceof PartialTime) { Pair<PartialTime,PartialTime> compatible = getCompatible(this, (PartialTime) t); if (compatible == null) { return null; PartialTime res = new PartialTime(p); if (dtz != null) return res.setTimeZone(dtz); else return res; } else if (t instanceof OrdinalTime) { return t.intersect(this); } else { Time cpt = makeComposite(this, t); if (cpt != null) { return cpt;
return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); ((PartialTime) t2).withStandardFields(); return super.getRange(flags, granularity); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); return super.getRange(flags, granularity);
return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); ((PartialTime) t2).withStandardFields(); return super.getRange(flags, granularity); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); return super.getRange(flags, granularity);
@Override public Range getRange(int flags, Duration inputGranularity) { Duration d = getDuration(); if (d != null) { int padType = (flags & RANGE_FLAGS_PAD_MASK); case RANGE_FLAGS_PAD_AUTO: if (hasTime()) { granularity = SUTime.MILLIS; } else { granularity = SUTime.DAY; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_FINEST: granularity = SUTime.MILLIS; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_SPECIFIED: start = padMoreSpecificFields(granularity); break; default: ((PartialTime) start).withStandardFields();
public Range getRange(int flags, Duration inputGranularity) { Duration d = getDuration(); if (d != null) { int padType = (flags & RANGE_FLAGS_PAD_MASK); case RANGE_FLAGS_PAD_AUTO: if (hasTime()) { granularity = SUTime.MILLIS; } else { granularity = SUTime.DAY; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_FINEST: granularity = SUTime.MILLIS; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_SPECIFIED: start = padMoreSpecificFields(granularity); break; default: ((PartialTime) start).withStandardFields();
public Range getRange(int flags, Duration inputGranularity) { Duration d = getDuration(); if (d != null) { int padType = (flags & RANGE_FLAGS_PAD_MASK); case RANGE_FLAGS_PAD_AUTO: if (hasTime()) { granularity = SUTime.MILLIS; } else { granularity = SUTime.DAY; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_FINEST: granularity = SUTime.MILLIS; start = padMoreSpecificFields(granularity); break; case RANGE_FLAGS_PAD_SPECIFIED: start = padMoreSpecificFields(granularity); break; default: ((PartialTime) start).withStandardFields();
resolved = this; } else { resolved = new PartialTime(this, p); Time t = (Time) this.prev(); if (t != null) { resolved = (Time) t.resolve(ref, 0); Time t = (Time) this.next(); if (t != null) { resolved = (Time) t.resolve(ref, 0);
protected boolean appendTimeFormats(DateTimeFormatterBuilder builder, int flags) { boolean alwaysPad = ((flags & FORMAT_PAD_UNKNOWN) != 0); boolean hasTime = hasTime(); DateTimeFieldType sdft = JodaTimeUtils.getMostSpecific(base); if (hasTime) {
protected boolean appendTimeFormats(DateTimeFormatterBuilder builder, int flags) { boolean alwaysPad = ((flags & FORMAT_PAD_UNKNOWN) != 0); boolean hasTime = hasTime(); DateTimeFieldType sdft = JodaTimeUtils.getMostSpecific(base); if (hasTime) {
protected boolean appendTimeFormats(DateTimeFormatterBuilder builder, int flags) { boolean alwaysPad = ((flags & FORMAT_PAD_UNKNOWN) != 0); boolean hasTime = hasTime(); DateTimeFieldType sdft = JodaTimeUtils.getMostSpecific(base); if (hasTime) {
public List<Temporal> toList() { if (JodaTimeUtils.hasField(base, DateTimeFieldType.year()) && JodaTimeUtils.hasField(base, DateTimeFieldType.monthOfYear()) && JodaTimeUtils.hasField(base, DateTimeFieldType.dayOfWeek())) { List<Temporal> list = new ArrayList<Temporal>(); Partial pt = new Partial(); pt = JodaTimeUtils.setField(pt, DateTimeFieldType.year(), base.get(DateTimeFieldType.year())); pt = JodaTimeUtils.setField(pt, DateTimeFieldType.monthOfYear(), base.get(DateTimeFieldType.monthOfYear())); pt = JodaTimeUtils.setField(pt, DateTimeFieldType.dayOfMonth(), 1); Partial candidate = JodaTimeUtils.resolveDowToDay(base, pt); if (candidate.get(DateTimeFieldType.monthOfYear()) != base.get(DateTimeFieldType.monthOfYear())) { pt = JodaTimeUtils.setField(pt, DateTimeFieldType.dayOfMonth(), 8); candidate = JodaTimeUtils.resolveDowToDay(base, pt); if (candidate.get(DateTimeFieldType.monthOfYear()) != base.get(DateTimeFieldType.monthOfYear())) { // give up return null; } } try { while (candidate.get(DateTimeFieldType.monthOfYear()) == base.get(DateTimeFieldType.monthOfYear())) { list.add(new PartialTime(this, candidate)); pt = JodaTimeUtils.setField(pt, DateTimeFieldType.dayOfMonth(), pt.get(DateTimeFieldType.dayOfMonth()) + 7); candidate = JodaTimeUtils.resolveDowToDay(base, pt); } } catch (IllegalFieldValueException ex) {} return list; } else { return null; } }