KB-2303 September abbreviated to "Sept" instead of "Sep" when calling text() with a "mmm" month format

Symptoms

September is shortened to "Sept" instead of "Sep" when using the text() function for Appian environments using "English (United Kingdom)" as their locale. 

For example, the following SAIL code returns "01-Sept-2024" instead of "01-Sep-2024": 

text("01/09/2024","dd-mmm-yyyy")

Cause

Appian uses International Components for Unicode (ICU) for internalization; specifically, the ICU4J library. ICU4J obtains its data from the Common Locale Data Repository (CLDR). In version 38 of the CLDR, the abbreviation for September was changed from "Sep" to "Sept" for the en_GB locale that Appian uses for "English (United Kingdom)". This change was picked up in version 68 of ICU4J. The latest Appian releases use a version of the ICU4J library that includes these changes to the CLDR. 

Workaround

Appian functions such as left() and concat() can be used to design expression rules that convert "Sept" dates to "Sep". 

For example, the following code snippet will extract only the first 3 letters of the abbreviated month: 

left(text("01/09/2023", "mmm",3)

Combining this with the concat() function will allow you to concatenate the day, month and year into a text string in which the month is always abbreviated to 3 characters. 

Affected Versions

This article applies to Appian 22.4 and later.

Last Reviewed: April 2024

Related
Recommended