I think I have good news for you. The roots of this bug are in glibc project, this bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=10871 It has been fixed now. But coreutils and date command line utility does not use strftime() from glibc directly. Instead it uses fprintftime() from Gnulib. Fortunately, the changes from glibc have been also ported to Gnulib: http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=4a236f1 http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=b5d3175 http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=703dcf1 (and few more). So the only thing that needs to be done for coreutils is to bump the version of Gnulib module used and make sure that the most recent glibc is used. This makes %B generate the genitive case of the month name in the languages which need it and introduces %OB (and %Ob) format specifiers to generate the nominative case on demand. This is the same design as used in BSD. Regards, Rafal