IMHO One of the worst decisions in history!
As per the previous post, but with a little more detail, I notice the USA and Australia have not made the decision to adopt this, and because AU has the same Date formats as NZ, there is a quick work around when this explodes on Monday 1st will be to do the below:
Using Windows UI:
1st open and change: Settings > Time & Language > Language & Region > Regional Format to English (Australia)
This will also broadcast a WM_SETTINGCHANGE message to windows, so only an application restart is likely to be needed.
If you DON'T have any applications built using a non-unicode aware date format, you can probably skip this step:
2nd.
- run: "intl.cpl" (It's got more options than launching it from: "Administrative Language Settings").
- Navigate to Administrative Tab (on the top), click on "Change system locale...".
- Select English (Australia).
- Don't select the "Beta: Use Unicode UTF-8..." option.
- This will also prompt for a reboot....I ignored that and then later ran: shutdown /g /f /t 30 /d EP:2:4 /p /c "Urgent Shutdown to fix Sep -> Sept issue" Note: this restarts and launches everything it can again.
- If you have multiple user accounts on the system, then consider also using the "Copy settings..." button and select if you want / need to copy this Format: English (Australia) to system or new accounts.
Using Windows Registry:
Obviously don't do this if you don't know what you're doing etc...use at your own risk, test the below on non production machines etc ;)
Option 1:
The relevant keys for a workaround that will resolve the issue for both the Unicode and Non Unicode settings / applications (For NZ Users).
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language]
"InstallLanguage"="0409"
"Default"="1409"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale]
@="00000409"
"(Default)"="00001409"
[HKEY_CURRENT_USER\Control Panel\International]
"Locale" = "00000C09"
"LocaleName" = "en-AU"
"iCountry" = "61"
[HKEY_CURRENT_USER\Control Panel\International\Geo]
"Name" = "NZ"
"Nation" = "183"
[HKEY_USERS.DEFAULT\Control Panel\International]
"Locale" = "00000C09"
"LocaleName" = "en-AU"
"iCountry" = "61"
[HKEY_USERS.DEFAULT\Control Panel\International\Geo]
"Name" = "NZ"
"Nation" = "183"
Option 2:
The relevant keys for a longer term patch / format override, Unicode aware applications only (For NZ Users).
Noting there are some additional options where you might not need to change the region as above (New Apps that do what they are supposed to) these allow you to override the mmm format for the current user, even if the system is using the "Sept" format.
[HKEY_CURRENT_USER\Control Panel\International]
"sAbbrevMonthName9"="Sep"
"sShortMonthName9" = "Sep"
"sAbbrevMonthNames" = "Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
These override options should not require a reboot if you broadcast a "WM_SETTINGCHANGE" message to the OS by just changing something in the regional settings and changing it back etc, just an application restart...perhaps a logout~login
...Have fun, if you found this...hopefully it will take some of the pain out of your day! :)
Keywords: Unicode Common Locale Data Repository (CLDR) Sept Sep mmm dd-mmm-yyyy