fork download
  1. #include <iostream>
  2.  
  3. #define BOOST_DATE_TIME_NO_LIB
  4. #include <boost/date_time.hpp>
  5.  
  6. #include <sstream>
  7. #include <locale>
  8. #include <ctime>
  9. #include <iomanip>
  10.  
  11. boost::gregorian::date DateFromString(const std::string& variable);
  12.  
  13. int main()
  14. {
  15.  
  16. DateFromString("01/09/2020");
  17.  
  18.  
  19. return 0;
  20. }
  21.  
  22. boost::gregorian::date DateFromString(const std::string& variable)
  23. {
  24. std::stringstream stream;
  25. stream.imbue(std::locale(""));
  26. stream << variable;
  27.  
  28. bool streamCheck = stream.fail();
  29.  
  30. std::tm datetm = {0};
  31. stream >> std::get_time(&datetm, "%x");
  32.  
  33. std::cout << datetm.tm_mday << '\n' << datetm.tm_mon << '\n' << datetm.tm_year << '\n';
  34.  
  35. boost::gregorian::date datevalue;
  36.  
  37. if (!stream.fail())
  38. {
  39. datevalue = boost::gregorian::date_from_tm(datetm);
  40. }
  41. else
  42. {
  43. datevalue = boost::gregorian::date(boost::date_time::not_a_date_time);
  44. }
  45.  
  46. return datevalue;
  47. }
Success #stdin #stdout 0s 4324KB
stdin
Standard input is empty
stdout
9
0
120