summaryrefslogtreecommitdiff
path: root/libodbcpp/timetypepair.cpp
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2006-07-08 16:32:05 +0000
committerrandomdan <randomdan@localhost>2006-07-08 16:32:05 +0000
commit2a1fa15d8baa4eda37e17b2e9362f8bde17a939d (patch)
tree09386e52320b7c52a521ab56fc7553896e639dcd /libodbcpp/timetypepair.cpp
downloadlibdbpp-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.cpp59
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;
+}
+