Is there a way to ensure that order is always right?
Well, the closest I can think of would be to get the correct βlong date formatβ (for example, CultureInfo.CurrentCulture.DateTimeFormat.LongDatePattern , and then delete any item that you don't need.
However, this will be a rather fragile approach, and I would recommend that you thoroughly test all cultures that are of particular interest to you. For example, you need to think of a culture where a long date pattern does not include "MMMM" ... or take en-US , for example, where a long date pattern uses dd instead of d . What would you like to do in such situations?
Then there is the whole genitive case against non-parent forms - I suspect that for any cultures where it matters, both the long date format and the "month" format that you use will use the same form ... but that's honest saying everything gets pretty dirty.
source share