QString PartialDate::range(const PartialDate& d) const { if (year() != d.year()) return asShortString() + "-" + d.asShortString(); QString result = numberToString(year()); if (month() != d.month()) return QString("%1.%2-%3").arg(year()).arg(asShortString(Month | Day)) .arg(d.asShortString(Month | Day)); else if (day() != d.day()) return QString("%1.%2.%3-%4").arg(year()).arg(month()) .arg(asShortString(Day)).arg(d.asShortString(Day)); else return asShortString(); }
bool operator!=(const PartialDate& d1, const PartialDate& d2) { return d1.year() != d2.year() || d1.month() != d2.month() || d1.day() != d2.day(); }
bool operator>(const PartialDate& d1, const PartialDate& d2) { return d1.year() > d2.year() || ((d1.year() == d2.year()) && (d1.month() > d2.month() || (d1.month() == d2.month() && d1.day() > d2.day()))); }
bool operator==(const PartialDate& d1, const PartialDate& d2) { return d1.year() == d2.year() && d1.month() == d2.month() && d1.day() == d2.day(); }