As seen in the C++ test case here: http://bugzilla.gnome.org/show_bug.cgi?id=334648
std::time_put<>::put(), with format 'x", shows only the last 2 digits of the year, and there is no short-date format that shows all 4 digits. I notice that the en_US and de_DE locales do not have this problem. This is Ubuntu Linux's Dapper release (currently unstable): [EMAIL PROTECTED]:~$ g++ --version g++ (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu1) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- Summary: time_put::put('x') shows only 2 year digits, in en_GB locale. Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: murrayc at murrayc dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26697