The description of time_get<>::do_get_weekday() and time_get<>::do_get_monthname() states (22.2.5.1.2):
Effects: Reads characters starting at s until it has extracted the (perhaps abbreviated) name of a weekday or month. If it finds an abbreviation that is followed by characters that could match a full name, it continues reading until it matches the full name or fails. However, if the abbreviated name of a weekday is not a prefix of its full name, the full name is not recognized by the function. For example, the Russian name of Monday (Ponedelnik) is not recognized as Monday (locale - ru_RU.iso88595) because of this. But if one replaces the 1st 3 symbols of this word with the abbreviated Russian name of Monday (Pnd), the resulting string (Pndedelnik) is recognized as the full name of Monday, which is wrong. According to the source of time_get<>::do_get_weekday function's implementation as well as the comments in it, it is definitely assumed in the function that the abbreviated name of a weekday should be a prefix of its full name. A similar problem takes place for time_get<>::do_get_monthname() function. -- Summary: time_get<>::do_get_weekday does not always recognize full names of weekdays Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38081