#include <iostream>
#define BOOST_DATE_TIME_NO_LIB
#include <boost/date_time.hpp>
#include <sstream>
#include <locale>
#include <ctime>
#include <iomanip>
boost::gregorian::date DateFromString(const std::string& variable);
int main()
{
DateFromString("01/09/2020");
return 0;
}
boost::gregorian::date DateFromString(const std::string& variable)
{
std::stringstream stream;
stream.imbue(std::locale(""));
stream << variable;
bool streamCheck = stream.fail();
std::tm datetm = {0};
stream >> std::get_time(&datetm, "%x");
std::cout << datetm.tm_mday << '\n' << datetm.tm_mon << '\n' << datetm.tm_year << '\n';
boost::gregorian::date datevalue;
if (!stream.fail())
{
datevalue = boost::gregorian::date_from_tm(datetm);
}
else
{
datevalue = boost::gregorian::date(boost::date_time::not_a_date_time);
}
return datevalue;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2RlZmluZSBCT09TVF9EQVRFX1RJTUVfTk9fTElCCiNpbmNsdWRlIDxib29zdC9kYXRlX3RpbWUuaHBwPgoKI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxsb2NhbGU+CiNpbmNsdWRlIDxjdGltZT4KI2luY2x1ZGUgPGlvbWFuaXA+Cgpib29zdDo6Z3JlZ29yaWFuOjpkYXRlIERhdGVGcm9tU3RyaW5nKGNvbnN0IHN0ZDo6c3RyaW5nJiB2YXJpYWJsZSk7CgppbnQgbWFpbigpIAp7CgkKCURhdGVGcm9tU3RyaW5nKCIwMS8wOS8yMDIwIik7CgkKCQoJcmV0dXJuIDA7Cn0KCmJvb3N0OjpncmVnb3JpYW46OmRhdGUgRGF0ZUZyb21TdHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIHZhcmlhYmxlKQp7CglzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW07CglzdHJlYW0uaW1idWUoc3RkOjpsb2NhbGUoIiIpKTsKCXN0cmVhbSA8PCB2YXJpYWJsZTsKCglib29sIHN0cmVhbUNoZWNrID0gc3RyZWFtLmZhaWwoKTsKCQoJc3RkOjp0bSBkYXRldG0gPSB7MH07CglzdHJlYW0gPj4gc3RkOjpnZXRfdGltZSgmZGF0ZXRtLCAiJXgiKTsKCglzdGQ6OmNvdXQgPDwgZGF0ZXRtLnRtX21kYXkgPDwgJ1xuJyA8PCBkYXRldG0udG1fbW9uIDw8ICdcbicgPDwgZGF0ZXRtLnRtX3llYXIgPDwgJ1xuJzsKCglib29zdDo6Z3JlZ29yaWFuOjpkYXRlIGRhdGV2YWx1ZTsKCglpZiAoIXN0cmVhbS5mYWlsKCkpIAoJewoJCWRhdGV2YWx1ZSA9IGJvb3N0OjpncmVnb3JpYW46OmRhdGVfZnJvbV90bShkYXRldG0pOwoJfQoJZWxzZSAKCXsKCQlkYXRldmFsdWUgPSBib29zdDo6Z3JlZ29yaWFuOjpkYXRlKGJvb3N0OjpkYXRlX3RpbWU6Om5vdF9hX2RhdGVfdGltZSk7Cgl9CgoJcmV0dXJuIGRhdGV2YWx1ZTsKfQ==