*
*/
-#include <cstdio>
-
#include "firebird_store.h"
-#include "ibpp.h"
+
+#include "stg/ibpp.h"
+#include "stg/common.h"
+
+#include <cstdio>
//-----------------------------------------------------------------------------
-time_t FIREBIRD_STORE::ts2time_t(const IBPP::Timestamp & ts) const
+time_t ts2time_t(const IBPP::Timestamp & ts)
{
char buf[32];
int year, month, day, hour, min, sec;
memset(&time_tm, 0, sizeof(time_tm));
ts.GetDate(year, month, day);
ts.GetTime(hour, min, sec);
+ if (year < 1990)
+ return 0;
sprintf(buf, "%d-%d-%d %d:%d:%d", year, month, day, hour, min, sec);
stg_strptime(buf, "%Y-%m-%d %H:%M:%S", &time_tm);
return mktime(&time_tm);
}
//-----------------------------------------------------------------------------
-void FIREBIRD_STORE::time_t2ts(time_t t, IBPP::Timestamp * ts) const
+void time_t2ts(time_t t, IBPP::Timestamp * ts)
{
struct tm res;
*ts = IBPP::Timestamp(res.tm_year + 1900, res.tm_mon + 1, res.tm_mday, res.tm_hour, res.tm_min, res.tm_sec);
}
//-----------------------------------------------------------------------------
-void FIREBIRD_STORE::ym2date(int year, int month, IBPP::Date * date) const
+void ym2date(int year, int month, IBPP::Date * date)
{
date->SetDate(year + 1900, month + 1, 1);
date->EndOfMonth();
}
//-----------------------------------------------------------------------------
-