All the calls to `std::time_get::get` had `0` as end-of-range iterator.
E.g.
auto& f = use_facet<time_get<CharT>>(is.getloc());
// ...
f.get(is, 0, is, err, &tm, command, fmt+1);
^
Using `nullptr` instead of `0` doesn't trigger the GCC 5.x warning:
> warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]
tm variable is not initialized in to_stream(), and valgrind warns about
"Conditional jump or move depends on uninitialised value(s)".
This is a false positive, as strftime always reads tm_hour, even if it
ends up never using it. To silence the warnings, initialize tm to zero.