#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;
}