Question Details

No question body available.

Tags

r windows-11 strptime

Answers (1)

June 11, 2026 Score: 2 Rep: 13,225 Quality: Medium Completeness: 80%

There are sources saying that Windows 11 24H2 update changed English (New Zealand) AbbreviatedMonthName (MMM) for September from Sep to Sept:

Microsoft recently introduced a change in Windows 11 (24H2) and Server 2025 that affects the English (New Zealand) regional settings, specifically altering the abbreviation for September from "Sep" to "Sept". This change was made to align with international localization standards (CLDR), but it has caused compatibility issues with many existing systems that rely on the traditional "Sep" format. The update impacts date formatting across various applications, including POS, databases, and scripts that use the dd-MMM-yyyy format. This change in abbreviation will cause serious issues across the majority of POS functions that rely on dates and cause extreme data loss/corruption and/or stop POS from functioning altogether. 1

Windows Server 2025 with region set to NZ now gets "Sept" for month instead of "Sep", when using month format MMM. This causes exceptions in our older software, where specific formats are expected, and when parsing formatted dates into DateTime values in SQL. 2

Why did Windows 11 24H2 update change English (New Zealand) AbbreviatedMonthName (MMM) for September from Sep to Sept?

Sep Is The Short Date Format For September. Sometimes is also a good read.

Also ?strptime says about the paramater %b

Abbreviated month name in the current locale on this platform. (Also matches full name on input: in some locales there are no abbreviations of names.) Case-insensitive on input.


I can reproduce this on Windows 11 x64 (build 26100)

Sys.setlocale("LCTIME", "enNZ");  

[1] "enNZ"

strptime('Sep 1 2026 12:00AM', "%b %d %Y %I:%M%p")

[1] NA

strptime('Sept 1 2026 12:00AM', "%b %d %Y %I:%M%p")

[1] "2026-09-01 CEST"

format(as.Date("2026-09-01"), "%b")

[1] "Sept"

In the code of Rstrptime.h in case b the locale abbreviations are obtained here and in the function getlocalestrings here.

--> It's a good thing to keep in mind that abbreviated month names vary accross locale and platform. And even in a locale they change over time.

Windows 11 - MMM - overview

loc 
    iconv(from = "latin1", to = "UTF-8")
}) |> kableExtra::kbl(format = "pipe")

enGB enUS frFR deDE enKE enAU enNZ
Jan Jan janv. Jan Jan Jan Jan
Feb Feb févr. Feb Feb Feb Feb
Mar Mar mars Mrz Mar Mar Mar
Apr Apr avr. Apr Apr Apr Apr
May May mai Mai May May May
Jun Jun juin Jun Jun Jun Jun
Jul Jul juil. Jul Jul Jul Jul
Aug Aug août Aug Aug Aug Aug
Sep Sep sept. Sep Sept Sep Sept
Oct Oct oct. Okt Oct Oct Oct
Nov Nov nov. Nov Nov Nov Nov
Dec Dec déc. Dez Dec Dec Dec

Sadly, I can't test this on different platforms. Maybe you can help!