Skip to content

Date formatting assumptions

Capitalization of day names and months

Developers might assume that the names for day names and months are always capitalized, like "Thursday" and "February". This is the case for languages like English and German.

But this capitalization rule is not universal. Notable languages include French, Italian, and Spanish. For example, in French:

  • "Tuesday" is "mardi"
  • "March" is "mars"

A convenient list of languages that do and do not capitalize day names and months can be found on Wikimedia's Meta-wiki "Capitalization of Wiktionary pages".

Edge cases where the name is capitalized

Even in languages where the names are uncapitalized there are situations where the word is capitalized. Primarily:

  • At the beginning of the sentence
  • When displayed on its own (A title, column header, or an option in a select field)

Proof of this can be found by looking at the front pages of printed newspapers and calendars.

Screenshots of the front page of Seven newspapers from France,the Netherlands, Spain, Italy, Denmark, Sweden, and Norway, with snippets showing the day name capitalized.

Newspapers: Depicted are a few examples where the day of the week is capitalized across French, Dutch, Spanish, Italian, Danish, Swedish, and Norwegian. (Apologies for the low quality imagery, but these are the highest resolution pictures I could get of these publications)

That said, capitalizing the first letter in standalone dates is not a requirement. It is largely a style decision. Text that is not capitalized just looks less formal and much "lighter". So it's not surprising that some newspapers do not capitalize the date. I found two examples in French and Dutch where the day name is not capitalized.

Screenshots of the front page of two newspapers from France and the Netherlands, with the day name uncapitalized.

Newspapers with uncapitalized day names: A french and dutch newspaper showing "mercredi" (Wednesday) and "vrijdag" (Friday), uncapitalized. (Once again, apologies for the low quality of the screenshots)

Therefore, capitalization could be regarded as a stylistic decision, and not determined by locale. But in my personal opinion, I think the uncapitalized text looks weird, so I'm inclined to always capitalize it.

Handling of edge cases in software

The nuance of capitalizing the day names and months is something that is not considered when the internationalization libraries were created. As a result, a translator trying to localize an app will struggle to control exactly how date formats are displayed. For example using JavaScript's Intl.DateTimeFormat API:

let locale = 'en';
enFormatter = new Intl.DateTimeFormat(locale, { dateStyle: 'full' });
enFormatter.format(new Date("2025-03-09"));
// Returns: "Sunday, March 9, 2025"

locale = 'fr';
frFormatter = new Intl.DateTimeFormat(locale, { dateStyle: 'full' });
frFormatter.format(new Date("2025-03-09"));
// Returns: "dimanche 9 mars 2025"

An option object is passed into Intl.DateTimeFormat to specify the "full" date style, but there is no way of controlling how the text should be capitalized in the context of a sentence or title.

The ramifications of this missing setting is subtle, but there are lots of places in software where a day name or month is shown which will show up as uncapitalized, and might look "odd" to a user.

Below are a couple of examples on iOS apps comparing English and Norwegian (Bokmål). The images on the left are in English, and the images on the right are in Norwegian, a language that does not capitalize the day names and months:

Two screenshots side by side, showing the Settings app in English and Norwegian with a list of days. In Norwegian, the days names are all uncapitalized.

Settings: The settings page for "First day of week". With Norwegian as the language, the days of the week are all uncapitalized when it really should be capitalized. It is not typical for selection screens on iOS to have the options uncapitalized, so it looks out of place here.

Two screenshots side by side, showing the Calendar app in English and Norwegian for the month of March. In Norwegian, the month "March" and the day "Thursday" are both uncapitalized.

Calendar App: The month view in the calendar app for March. "mars" should be "Mars", and "torsdag" should be "Torsdag". However, "6. mars 2025" is correct because the word "mars" is in the middle of the date.

Additional examples

Two screenshots side by side, showing the Weather app in English and Norwegian with a 10-day forecast. In Norwegian, the day names are all uncapitalized, but the label for "today" is capitalized.

Weather App: Like the Settings app, the days of the week in the weather forecast are all uncapitalized in Norwegian. Notably, this is not the case for "Today"/"I dag", so one cannot argue that it's a stylistic choice to have the labels all uncapitalized when there are inconsistencies.

Two screenshots side by side, showing the Reminders app in English and Norwegian with a date picker. In Norwegian, the month is not capitalized.

Reminders App: The date picker when creating a reminder shows the name of the month uncapitalized when it should be capitalized.

It should be noted that the uncapitalized text is something that only occurs to less popular languages. Apparently in languages other than Scandanavian, Catalan, and Hungarian, the text is capitalized (with exceptions in a few places). Was this because a translator at Apple spotted this and changed something to deliberately capitalize the word in some situations? Or is this something inherent in the languages themsevles. I would love to know for sure.

Language First day of week setting Calendar App Weather App Reminders App
English Capitalized Capitalized Capitalized Capitalized
German Capitalized Capitalized Capitalized Capitalized
French Capitalized Uncapitalized Capitalized Capitalized
Spanish Capitalized Uncapitalized Capitalized Capitalized
Italian Capitalized Uncapitalized Capitalized Capitalized
Portugeuse Capitalized Uncapitalized Capitalized Capitalized
Dutch Capitalized Uncapitalized Capitalized Capitalized
Polish Capitalized Uncapitalized Capitalized Capitalized
Ukrainian Capitalized Uncapitalized Capitalized Capitalized
Norwegian Uncapitalized Uncapitalized Uncapitalized Uncapitalized
Swedish Uncapitalized Uncapitalized Uncapitalized Uncapitalized
Danish Uncapitalized Uncapitalized Uncapitalized Uncapitalized
Finish Uncapitalized Uncapitalized Uncapitalized Uncapitalized
Catalan Uncapitalized Uncapitalized Uncapitalized Uncapitalized
Hungarian Uncapitalized Uncapitalized Capitalized Not Applicable

One way to handle the capitalization is through interpolation and custom formatters. But this solution largely depends on the capabilities of the localization software you are using. For more details see Interpolation assumptions: Assumptions about capitalization.

Narrow formatting of day names and months

In English the narrow format for every day of the week (Monday, Tuesday, Wednesday, etc.) will be:

M T W T F S S

It is however not guaranteed that it will be 1 character for all languages. For example in Hungarian the narrow format is:

H K Sz Cs P Sz V

A similar can happen with months as well:

English:   J F M A M J J A S O N D
Hungarian: J F M Á M J J A Sz O N D
Maltese:   Jn Fr Mz Ap Mj Ġn Lj Aw St Ob Nv Dċ