示例#1
0
文件: period.c 项目: takluyver/pandas
static long_t asfreq_MtoD(long_t fromDate, char relation, asfreq_info *af_info) {

    long_t y, m, absdate;

    if (relation == 'S') {
        MtoD_ym(fromDate, &y, &m);
        if ((absdate = absdate_from_ymd(y, m, 1)) == INT_ERR_CODE) return INT_ERR_CODE;
        return absdate;
    } else {
        MtoD_ym(fromDate+1, &y, &m);
        if ((absdate = absdate_from_ymd(y, m, 1)) == INT_ERR_CODE) return INT_ERR_CODE;
        return absdate-1;
    }
}
示例#2
0
static npy_int64 asfreq_MtoD(npy_int64 ordinal, char relation, asfreq_info *af_info) {

    npy_int64 absdate;
    int y, m;

    if (relation == 'S') {
        MtoD_ym(ordinal, &y, &m);
        if ((absdate = absdate_from_ymd(y, m, 1)) == INT_ERR_CODE) return INT_ERR_CODE;
        return absdate - ORD_OFFSET;
    } else {
        MtoD_ym(ordinal + 1, &y, &m);
        if ((absdate = absdate_from_ymd(y, m, 1)) == INT_ERR_CODE) return INT_ERR_CODE;
        return absdate - 1 - ORD_OFFSET;
    }
}
示例#3
0
文件: period.c 项目: Vistarino/pandas
static npy_int64 asfreq_MtoDT(npy_int64 ordinal, char relation, asfreq_info* af_info) {
    npy_int64 absdate;
    int y, m;

    if (relation == 'E') {
      ordinal += 1;
    }
    MtoD_ym(ordinal, &y, &m);
    if ((absdate = absdate_from_ymd(y, m, 1)) == INT_ERR_CODE) return INT_ERR_CODE;
    ordinal = absdate - ORD_OFFSET;

    if (relation == 'E') {
      ordinal -= 1;
    }

    return convert_daytime(ordinal, FR_DAY, af_info->targetFreq, relation != 'S');
}