aboutsummaryrefslogtreecommitdiffstats
path: root/datetime.h
diff options
context:
space:
mode:
authoripknHama <ipknhama@gmail.com>2014-08-07 01:18:33 +0900
committeripknHama <ipknhama@gmail.com>2014-08-07 01:18:33 +0900
commit031615ac866cc3c8f1900dd4b4aae2106ad31230 (patch)
treeb8b7206ffbd2043368580ec269c97436929fe452 /datetime.h
parenta0c93f5b84cc11b30bc6320ac26127832ef8bf7a (diff)
downloadcrow-031615ac866cc3c8f1900dd4b4aae2106ad31230.tar.gz
crow-031615ac866cc3c8f1900dd4b4aae2106ad31230.zip
source resturcturing + CMake
Diffstat (limited to 'datetime.h')
-rw-r--r--datetime.h77
1 files changed, 0 insertions, 77 deletions
diff --git a/datetime.h b/datetime.h
deleted file mode 100644
index 0a47379..0000000
--- a/datetime.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#pragma once
-
-#include <string>
-#include <boost/date_time/local_time/local_time.hpp>
-#include <boost/filesystem.hpp>
-
-namespace crow
-{
- // code from http://stackoverflow.com/questions/2838524/use-boost-date-time-to-parse-and-create-http-dates
- class DateTime
- {
- public:
- DateTime()
- : m_dt(boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr()))
- {
- }
- DateTime(const std::string& path)
- : DateTime()
- {
- from_file(path);
- }
-
- // return datetime string
- std::string str()
- {
- static const std::locale locale_(std::locale::classic(), new boost::local_time::local_time_facet("%a, %d %b %Y %H:%M:%S GMT") );
- std::string result;
- try
- {
- std::stringstream ss;
- ss.imbue(locale_);
- ss << m_dt;
- result = ss.str();
- }
- catch (std::exception& e)
- {
- std::cerr << "Exception: " << e.what() << std::endl;
- }
- return result;
- }
-
- // update datetime from file mod date
- std::string from_file(const std::string& path)
- {
- try
- {
- boost::filesystem::path p(path);
- boost::posix_time::ptime pt = boost::posix_time::from_time_t(
- boost::filesystem::last_write_time(p));
- m_dt = boost::local_time::local_date_time(pt, boost::local_time::time_zone_ptr());
- }
- catch (std::exception& e)
- {
- std::cout << "Exception: " << e.what() << std::endl;
- }
- return str();
- }
-
- // parse datetime string
- void parse(const std::string& dt)
- {
- static const std::locale locale_(std::locale::classic(), new boost::local_time::local_time_facet("%a, %d %b %Y %H:%M:%S GMT") );
- std::stringstream ss(dt);
- ss.imbue(locale_);
- ss >> m_dt;
- }
-
- // boolean equal operator
- friend bool operator==(const DateTime& left, const DateTime& right)
- {
- return (left.m_dt == right.m_dt);
- }
-
- private:
- boost::local_time::local_date_time m_dt;
- };
-}