Updated Boost datetime Examples Translated (markdown)

Howard Hinnant
2017-07-07 20:24:25 -04:00
parent 22edb7e88a
commit 55c99382eb

@@ -291,38 +291,35 @@ main()
``` ```
<a name="Print_Month"></a> <a name="Print_Month"></a>
### Print Month ### Print Month
```c++
#include "date.h"
#include <iostream>
#include "date.h" int
#include <iostream> main()
{
int using namespace date;
main() try
{ {
std::cin.exceptions(std::ios::failbit);
std::cout << "Enter Year: "; std::cout << "Enter Year: ";
int yi, mi; year y;
std::cin >> yi; std::cin >> parse("%Y", y);
std::cout << "Enter Month(1..12): "; std::cout << "Enter Month(1..12): ";
std::cin >> mi; month m;
try std::cin >> parse(" %m", m);
{ auto ym = y/m;
using namespace date; auto endOfMonth = (ym/last).day();
auto ym = year(yi)/mi; for (auto d = 1_d; d <= endOfMonth; d += days{1})
if (!ym.ok()) std::cout << format("%F [%a]\n", ym/d);
throw std::runtime_error("Bad year or month: "
+ std::to_string(yi) + "/" + std::to_string(mi));
auto wd = weekday{ym/1};
auto endOfMonth = (ym/last).day();
for (auto d = 1_d; d <= endOfMonth; d += days{1}, wd += days{1})
std::cout << ym.year() << '-' << ym.month() << '-'
<< d << " [" << wd << "]\n";
}
catch (const std::exception& e)
{
std::cerr << "Error bad date, check your entry: \n"
<< " Details: " << e.what() << '\n';
}
} }
catch (const std::exception& e)
{
std::cerr << "Error bad date, check your entry: \n"
<< " Details: " << e.what() << '\n';
}
}
```
<a name="Month_Adding"></a> <a name="Month_Adding"></a>
### Month Adding ### Month Adding