--- date_time/time_facet.hpp 2012-09-25 19:15:31.000000000 -0600 +++ date_time/time_facet.hpp 2013-04-29 17:20:37.000000000 -0600 @@ -1104,6 +1104,23 @@ } break; } + case 'e': + { + try { + t_day = this->m_parser.parse_var_day_of_month(sitr, stream_end); + } + catch(std::out_of_range&) { // base class for exception bad_day_of_month + match_results mr; + if(this->m_sv_parser.match(sitr, stream_end, mr)) { + t = time_type(static_cast(mr.current_match)); + return sitr; + } + else { + throw; // rethrow bad_day_of_month + } + } + break; + } // time flags case 'H': {