コード例 #1
0
ファイル: moment.c プロジェクト: gitpan/Time-Moment
static moment_t
THX_moment_with_day_of_quarter(pTHX_ const moment_t *mt, IV v) {
    int y, q;

    dt_to_yqd(moment_local_dt(mt), &y, &q, NULL);
    if (v < 1 || v > 90) {
        int diq = dt_days_in_quarter(y, q);
        if (v < 1 || v > diq)
            croak("Parameter 'day' is out of the range [1, %d]", diq);
    }
    return THX_moment_with_local_dt(aTHX_ mt, dt_from_yqd(y, q, (int)v));
}
コード例 #2
0
ファイル: dt_length.c プロジェクト: chansen/c-dt
int
dt_length_of_quarter(dt_t dt) {
    int y, q;
    dt_to_yqd(dt, &y, &q, NULL);
    return dt_days_in_quarter(y, q);
}
コード例 #3
0
ファイル: dt_navigate.c プロジェクト: ifzz/c-dt
dt_t
dt_end_of_quarter(dt_t dt, int offset) {
    int y, q;
    dt_to_yqd(dt, &y, &q, NULL);
    return dt_from_yqd(y, q + offset + 1, 0);
}
コード例 #4
0
ファイル: dt_navigate.c プロジェクト: ifzz/c-dt
dt_t
dt_start_of_quarter(dt_t dt, int offset) {
    int y, q;
    dt_to_yqd(dt, &y, &q, NULL);
    return dt_from_yqd(y, q + offset, 1);
}