version 0.3.0
[fms.git] / src / board.cpp
index 7ccac3b..e429c6c 100644 (file)
@@ -1,6 +1,8 @@
 #include "../include/board.h"\r
 #include "../include/stringfunctions.h"\r
 \r
+#include <Poco/DateTimeParser.h>\r
+\r
 #ifdef XMEM\r
        #include <xmem.h>\r
 #endif\r
@@ -10,7 +12,7 @@ Board::Board()
        m_boardid=-1;\r
        m_boardname="";\r
        m_boarddescription="";\r
-       m_datecreated.Set(1970,1,1);\r
+       m_datecreated.assign(1970,1,1);\r
        m_lowmessageid=0;\r
        m_highmessageid=0;\r
        m_messagecount=0;\r
@@ -50,7 +52,7 @@ const bool Board::Load(const long boardid)
        m_boardid=-1;\r
        m_boardname="";\r
        m_boarddescription="";\r
-       m_datecreated.Set(1970,1,1);\r
+       m_datecreated.assign(1970,1,1);\r
        m_lowmessageid=0;\r
        m_highmessageid=0;\r
        m_messagecount=0;\r
@@ -123,7 +125,7 @@ const bool Board::Load(const std::string &boardname)                // same as loading form bo
        m_boardid=-1;\r
        m_boardname="";\r
        m_boarddescription="";\r
-       m_datecreated.Set(1970,1,1);\r
+       m_datecreated.assign(1970,1,1);\r
        m_lowmessageid=0;\r
        m_highmessageid=0;\r
        m_messagecount=0;\r
@@ -180,37 +182,9 @@ const bool Board::Load(const std::string &boardname)               // same as loading form bo
 void Board::SetDateFromString(const std::string &datestring)\r
 {\r
        // break out date created  - date should be in format yyyy-mm-dd HH:MM:SS, so we split on "-", " " (space), and ":"\r
-       int tempint=0;\r
-       std::vector<std::string> dateparts;\r
-       StringFunctions::SplitMultiple(datestring,"- :",dateparts);\r
-       if(dateparts.size()>0)\r
-       {\r
-               StringFunctions::Convert(dateparts[0],tempint);\r
-               m_datecreated.SetYear(tempint);\r
-       }\r
-       if(dateparts.size()>1)\r
-       {\r
-               StringFunctions::Convert(dateparts[1],tempint);\r
-               m_datecreated.SetMonth(tempint);\r
-       }\r
-       if(dateparts.size()>2)\r
-       {\r
-               StringFunctions::Convert(dateparts[2],tempint);\r
-               m_datecreated.SetDay(tempint);\r
-       }\r
-       if(dateparts.size()>3)\r
-       {\r
-               StringFunctions::Convert(dateparts[3],tempint);\r
-               m_datecreated.SetHour(tempint);\r
-       }\r
-       if(dateparts.size()>4)\r
-       {\r
-               StringFunctions::Convert(dateparts[4],tempint);\r
-               m_datecreated.SetMinute(tempint);\r
-       }\r
-       if(dateparts.size()>5)\r
+       int tzdiff=0;\r
+       if(Poco::DateTimeParser::tryParse(datestring,m_datecreated,tzdiff)==false)\r
        {\r
-               StringFunctions::Convert(dateparts[5],tempint);\r
-               m_datecreated.SetSecond(tempint);\r
+               m_log->error("Board::SetDateFromString could not parse date "+datestring);\r
        }\r
 }\r