public static function toHumanReadableTimePeriodWithWeeksAndDays($seconds)
    {
        $interval_parts =
            SwatDate::DI_YEARS |
            SwatDate::DI_WEEKS |
            SwatDate::DI_DAYS |
            SwatDate::DI_HOURS |
            SwatDate::DI_MINUTES |
            SwatDate::DI_SECONDS;

        $parts = self::getHumanReadableTimePeriodParts(
            $seconds,
            $interval_parts
        );

        if (isset($parts['weeks']) && isset($parts['days'])) {
            // reuse the weeks array key, to keep it in the correct position.
            $parts['weeks'] = self::toList(array(
                $parts['weeks'],
                $parts['days']
            ));

            unset($parts['days']);
        }

        return self::toHumanReadableTimePeriodString($parts, true);
    }