diff options
author | randomdan <randomdan@localhost> | 2006-07-08 16:32:05 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2006-07-08 16:32:05 +0000 |
commit | 2a1fa15d8baa4eda37e17b2e9362f8bde17a939d (patch) | |
tree | 09386e52320b7c52a521ab56fc7553896e639dcd /libodbcpp/timetypepair.cpp | |
download | libdbpp-odbc-2a1fa15d8baa4eda37e17b2e9362f8bde17a939d.tar.bz2 libdbpp-odbc-2a1fa15d8baa4eda37e17b2e9362f8bde17a939d.tar.xz libdbpp-odbc-2a1fa15d8baa4eda37e17b2e9362f8bde17a939d.zip |
libcodbcpp initial release
Diffstat (limited to 'libodbcpp/timetypepair.cpp')
-rw-r--r-- | libodbcpp/timetypepair.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libodbcpp/timetypepair.cpp b/libodbcpp/timetypepair.cpp new file mode 100644 index 0000000..17a840e --- /dev/null +++ b/libodbcpp/timetypepair.cpp @@ -0,0 +1,59 @@ +#include "command.h" + +ODBC::TimeTypePair::TimeTypePair() +{ + memset(&_c, 0, sizeof(_c)); + memset(&_sql, 0, sizeof(_sql)); +} +ODBC::TimeTypePair::TimeTypePair(const ODBC::TimeTypePair::SQL_TS& t) +{ + memset(&_c, 0, sizeof(_c)); + memset(&_sql, 0, sizeof(_sql)); + set(t); +} +ODBC::TimeTypePair::TimeTypePair(tm const& t) +{ + memset(&_c, 0, sizeof(_c)); + memset(&_sql, 0, sizeof(_sql)); + set(t); +} + +tm const& +ODBC::TimeTypePair::set(const ODBC::TimeTypePair::SQL_TS& t) +{ + _sql = t; + sql2c(); + return _c; +} + +void +ODBC::TimeTypePair::sql2c() const +{ + _c.tm_year = _sql.year - 1900; + _c.tm_mon = _sql.month - 1; + _c.tm_mday = _sql.day; + _c.tm_hour = _sql.hour; + _c.tm_min = _sql.minute; + _c.tm_sec = _sql.second; +} + +const ODBC::TimeTypePair::SQL_TS& +ODBC::TimeTypePair::set(tm const& t) +{ + _c = t; + c2sql(); + return _sql; +} + +void +ODBC::TimeTypePair::c2sql() const +{ + _sql.year = _c.tm_year + 1900; + _sql.month = _c.tm_mon + 1; + _sql.day = _c.tm_mday; + _sql.hour = _c.tm_hour; + _sql.minute = _c.tm_min; + _sql.second = _c.tm_sec; + _sql.fraction = 0; +} + |