--- YodaProfiler/src/GLTables.cpp 2006/09/05 12:59:35 1.4 +++ YodaProfiler/src/GLTables.cpp 2006/09/06 12:47:18 1.6 @@ -837,7 +837,7 @@ // ---------------- myquery.str(""); myquery << "select * from GL_S4_CALIB where FROM_TIME <= "<< time; - myquery << " AND VALIDATION = 1 ORDER BY FROM_TIME DESC LIMIT 1;"; + myquery << " ORDER BY FROM_TIME DESC LIMIT 1;"; // myquery << " ORDER BY FROM_TIME DESC LIMIT 1;"; pResult = dbc->Query(myquery.str().c_str()); if(!pResult->GetRowCount())return (-55);//throw -55; @@ -1050,3 +1050,99 @@ return(pkt_num); // }; + +/* + * + * Convert the time in the DB from UInt_t to a string + * + * @param dbt time in the DB + * @param tzone Time Zone, can be UTC,GMT,CET,CEST,MSD default is MSK + * + */ +TString GL_TIMESYNC::ConvertTime(TString tzone, UInt_t dbt){ + // + TDatime *time = new TDatime(); + TString rtime; + // + time->Set(dbt,false); // MSK = Moscow Winter Time + // + if ( !strcmp(tzone.Data(),"UTC") || !strcmp(tzone.Data(),"GMT") ){ + // + UInt_t timeUTC = time->Convert() - 60*60*3; // UTC (Coordinated Universal Time) = Moscow Winter Time - 3 hs + time->Set(timeUTC,false); + // + }; + // + if ( !strcmp(tzone.Data(),"CET") ){ + // + UInt_t timeCET = time->Convert() - 60*60*2; // CET (Central European Time) = Moscow Winter Time - 2 hs + time->Set(timeCET,false); + // + }; + // + if ( !strcmp(tzone.Data(),"CEST") ){ + // + UInt_t timeCEST = time->Convert() - 60*60*1; // CEST (Central European Summer Time) = Moscow Winter Time - 1 h + time->Set(timeCEST,false); + // + }; + // + if ( !strcmp(tzone.Data(),"MSD") ){ + // + UInt_t timeMSD = time->Convert() + 60*60*1; // MSD (Moscow Summer Time) = Moscow Winter Time + 1 h + time->Set(timeMSD,false); + // + }; + // + rtime = time->AsSQLString(); + // + return(rtime); +} + +/* + * + * Convert the time in the DB from UInt_t to a string + * + * @param dbt time in the DB + * @param tzone Time Zone, can be UTC,GMT,CET,CEST,MSD default is MSK + * + */ +TString GL_TIMESYNC::UnConvertTime(TString tzone, UInt_t dbt){ + // + TDatime *time = new TDatime(); + TString rtime; + // + time->Set(dbt,false); // MSK = Moscow Winter Time + // + if ( !strcmp(tzone.Data(),"UTC") || !strcmp(tzone.Data(),"GMT") ){ + // + UInt_t timeUTC = time->Convert() + 60*60*3; // UTC (Coordinated Universal Time) +3 hs = Moscow Winter Time + time->Set(timeUTC,false); + // + }; + // + if ( !strcmp(tzone.Data(),"CET") ){ + // + UInt_t timeCET = time->Convert() + 60*60*2; // CET (Central European Time) + 2 hs = Moscow Winter Time + time->Set(timeCET,false); + // + }; + // + if ( !strcmp(tzone.Data(),"CEST") ){ + // + UInt_t timeCEST = time->Convert() + 60*60*1; // CEST (Central European Summer Time) + 1 h = Moscow Winter Time + time->Set(timeCEST,false); + // + }; + // + if ( !strcmp(tzone.Data(),"MSD") ){ + // + UInt_t timeMSD = time->Convert() - 60*60*1; // MSD (Moscow Summer Time) - 1 h = Moscow Winter Time + time->Set(timeMSD,false); + // + }; + // + rtime = time->AsSQLString(); + // + return(rtime); +}