dt_status_t dt_representation_day_of_year()

in src/dt.c [447:461]


dt_status_t dt_representation_day_of_year(const dt_representation_t *representation, int *day_of_year)
{
    unsigned i = 0;
    // TODO: Julian calendar support - now only Gregorian is supported
    if (!representation || !day_of_year) {
        return DT_INVALID_ARGUMENT;
    }
    *day_of_year = 0;

    for (i = 1; i < representation->month; ++i) {
        *day_of_year += (i == 2 && dt_is_leap_year(representation->year)) ? 29 : month_days[i];
    }
    *day_of_year += representation->day;
    return DT_OK;
}