コード例 #1
0
ファイル: Date.cpp プロジェクト: bsdf/trx
 Date::Date(double year,
            double month,
            double date,
            double hours,
            double min,
            double sec,
            double msec,
            bool utcFlag)
 {
     if (year < 100) {
         year += 1900;
     }
     m_time = MakeDate(MakeDay(year, month, date),
                       MakeTime(hours, min, sec, msec));
     if (!utcFlag) {
         m_time = UTC(m_time);
     }
 }
コード例 #2
0
ファイル: csved_date.cpp プロジェクト: moissinac/csvfix
bool MaskedDateReader :: Read( const string & ds, ALib::Date & date ) {

    ALib::STRPOS s1 = ds.find( mSep[0] );
    ALib::STRPOS s2 = ds.find_last_of( mSep[1] );
    if ( s1 == std::string::npos  ||
            s2 == std::string::npos  ||
            s1 >= s2 ) {
        return false;
    }

    string s[3];
    s[0] = ds.substr( 0, s1 );
    s[1] = ds.substr( s1 + 1, (s2 - s1) - 1 );
    s[2] = ds.substr( s2 + 1 );

    int day = -1, month = -1, year = -1;

    for ( unsigned int i = 0; i < 3; i++ ) {
        switch( mDMY[i] ) {
        case 'd':
            MakeDay( s[i], day );
            break;
        case 'm':
            MakeMonth( s[i], month );
            break;
        case 'y':
            MakeYear( s[i], year );
            break;
        }
    }

    if ( ALib::Date::Validate( year, month, day ) != ALib::Date::DATEOK ) {
        return false;
    }

    date = ALib::Date( year, month, day );
    return true;

}