#include <vector>
#include <string>
#include <iostream>
#include <ctime>
#include <iomanip>
#include <sstream>
#include <cstring>
 
int main()
{
   std::vector<std::string> vec;
 
   vec.push_back("2016:07:30 09:27:06");
   vec.push_back("2016:07:30 09:27:07");
   vec.push_back("2016:07:30 09:27:08");
 
   for (auto & i : vec)
   {
      struct std::tm tm;
 
      /* std::sscanf() method: */
      std::memset(&tm, 0, sizeof(tm));
      if (6 != std::sscanf(i.c_str(), "%d:%d:%d %d:%d:%d",
                           &tm.tm_year, &tm.tm_mon, &tm.tm_mday,
                           &tm.tm_hour, &tm.tm_min, &tm.tm_sec))
      {
         return -1;
      }
 
      /* correct the numbers according to:
       * see: http://e...content-available-to-author-only...e.com/w/cpp/chrono/c/tm */
      --tm.tm_mon;
      tm.tm_year -= 1900;
      /* mktime determines if Daylight Saving Time was in effect
       * see: http://e...content-available-to-author-only...e.com/w/cpp/chrono/c/mktime */
      tm.tm_isdst = -1;
 
      std::time_t time = std::mktime(&tm);
 
      std::cout << i << " | sscanf() time =        " << time << std::endl;
 
      /************************************************************/
 
      /* std::get_time() method: */
      std::istringstream iss;
      iss.str(i);
      iss >> std::get_time(&tm, "%Y:%m:%d %H:%M:%S");
 
      time = std::mktime(&tm);
 
      std::cout << i << " | std::get_time() time = " << time << std::endl;
   }
}
				I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CgppbnQgbWFpbigpCnsKICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHZlYzsKCiAgIHZlYy5wdXNoX2JhY2soIjIwMTY6MDc6MzAgMDk6Mjc6MDYiKTsKICAgdmVjLnB1c2hfYmFjaygiMjAxNjowNzozMCAwOToyNzowNyIpOwogICB2ZWMucHVzaF9iYWNrKCIyMDE2OjA3OjMwIDA5OjI3OjA4Iik7CgogICBmb3IgKGF1dG8gJiBpIDogdmVjKQogICB7CiAgICAgIHN0cnVjdCBzdGQ6OnRtIHRtOwoKICAgICAgLyogc3RkOjpzc2NhbmYoKSBtZXRob2Q6ICovCiAgICAgIHN0ZDo6bWVtc2V0KCZ0bSwgMCwgc2l6ZW9mKHRtKSk7CiAgICAgIGlmICg2ICE9IHN0ZDo6c3NjYW5mKGkuY19zdHIoKSwgIiVkOiVkOiVkICVkOiVkOiVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRtLnRtX3llYXIsICZ0bS50bV9tb24sICZ0bS50bV9tZGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAmdG0udG1faG91ciwgJnRtLnRtX21pbiwgJnRtLnRtX3NlYykpCiAgICAgIHsKICAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CgogICAgICAvKiBjb3JyZWN0IHRoZSBudW1iZXJzIGFjY29yZGluZyB0bzoKICAgICAgICogc2VlOiBodHRwOi8vZS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vdy9jcHAvY2hyb25vL2MvdG0gKi8KICAgICAgLS10bS50bV9tb247CiAgICAgIHRtLnRtX3llYXIgLT0gMTkwMDsKICAgICAgLyogbWt0aW1lIGRldGVybWluZXMgaWYgRGF5bGlnaHQgU2F2aW5nIFRpbWUgd2FzIGluIGVmZmVjdAogICAgICAgKiBzZWU6IGh0dHA6Ly9lLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmNvbS93L2NwcC9jaHJvbm8vYy9ta3RpbWUgKi8KICAgICAgdG0udG1faXNkc3QgPSAtMTsKCiAgICAgIHN0ZDo6dGltZV90IHRpbWUgPSBzdGQ6Om1rdGltZSgmdG0pOwoKICAgICAgc3RkOjpjb3V0IDw8IGkgPDwgIiB8IHNzY2FuZigpIHRpbWUgPSAgICAgICAgIiA8PCB0aW1lIDw8IHN0ZDo6ZW5kbDsKCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgogICAgICAvKiBzdGQ6OmdldF90aW1lKCkgbWV0aG9kOiAqLwogICAgICBzdGQ6OmlzdHJpbmdzdHJlYW0gaXNzOwogICAgICBpc3Muc3RyKGkpOwogICAgICBpc3MgPj4gc3RkOjpnZXRfdGltZSgmdG0sICIlWTolbTolZCAlSDolTTolUyIpOwoKICAgICAgdGltZSA9IHN0ZDo6bWt0aW1lKCZ0bSk7CgogICAgICBzdGQ6OmNvdXQgPDwgaSA8PCAiIHwgc3RkOjpnZXRfdGltZSgpIHRpbWUgPSAiIDw8IHRpbWUgPDwgc3RkOjplbmRsOwogICB9Cn0=