Updated Boost datetime Examples Translated (markdown)

HowardHinnant
2015-09-05 15:59:18 -04:00
parent da9bd7dfde
commit 530ef652c7

@@ -49,23 +49,27 @@ look if ported to this library.
in >> y >> dash >> m >> dash >> day;
auto d = year(y)/m/day;
assert(d.ok());
cout << d.year() << '-' << d.month() << '-' << d.day() << '\n'; // 2001-Oct-09
cout << d.year() << '-' << d.month() << '-' << d.day() << '\n';
// Read ISO Standard(CCYYMMDD) and output ISO Extended
string ud("20011009"); // 2001-Oct-09
auto d1 = year(stoi(ud.substr(0, 4)))/stoi(ud.substr(4, 2))/stoi(ud.substr(6, 2));
auto d1 = year(stoi(ud.substr(0, 4)))/stoi(ud.substr(4, 2))
/stoi(ud.substr(6, 2));
assert(d1.ok());
cout << d1 << '\n'; // 2001-10-09
// Output the parts of the date - Tuesday October 9, 2001
auto wd = weekday{d1};
cout << wd << ' ' << d1.month() << ' ' << static_cast<unsigned>(d1.day())
cout << wd << ' ' << d1.month() << ' '
<< static_cast<unsigned>(d1.day())
<< ", " << d1.year() << '\n'; // Tue Oct 9, 2001
// Let's send in month 25 by accident and create an exception
string bad_date("20012509"); // 2001-??-09
cout << "An expected exception is next:\n";
auto d2 = year(stoi(bad_date.substr(0,4)))/stoi(bad_date.substr(4,2))/stoi(bad_date.substr(6,2));
auto d2 = year(stoi(bad_date.substr(0, 4)))
/stoi(bad_date.substr(4, 2))
/stoi(bad_date.substr(6, 2));
if (!d2.ok())
{
ostringstream msg;
@@ -76,7 +80,7 @@ look if ported to this library.
}
catch (const exception& e)
{
cout << "Exception: " << e.what() << '\n'; // Exception: Invalid date: 2001-25-09
cout << "Exception: " << e.what() << '\n';
}
}