Skip to content

[SF-0017] Expanded Calendar Support (Update) #1202

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 7, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions Proposals/0017-expanded-calendar-support.md
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@



This proposal is for adding expanded support for several calendars used in South Asia, lunisolar and solar calendars used in regions in India, as well as Thai, Vietnamese and Korean calendars based on the Chinese lunisolar calendar. Swift-foundation-icu repository will support these too, so users of Foundation on any platform will get these new calendars.
This proposal is for adding expanded support for several lunisolar and solar calendars used in South Asia, as well as Vietnamese and Korean calendars that based on the Chinese lunisolar calendar. Swift-foundation-icu repository will support these too, so users of Foundation on any platform will get these new calendars.

Some of these calendars are astronomical calendars, which means they are using true positions of sun (solar) or both sun and moon. For that reason, when specific set of events happen, the dates in these calendars can have both leap months and leap days.

@@ -75,10 +75,6 @@ Foundation will add new string constants for new calendar identifiers for NSCale
@available(FoundationPreview 6.2, *)
case vikram

// Thai lunisolar calendar
@available(FoundationPreview 6.2, *)
case thai

// Vietnamese lunisolar calendar
@available(FoundationPreview 6.2, *)
case vietnamese
@@ -106,7 +102,7 @@ public enum Component : Sendable {

## Impact on existing code

Thai, Vietnamese and Korean calendars have no special considerations.
Vietnamese and Korean calendars have no special considerations.

Calendars used in India are introducing the new field for the leap day. Clients using existing calendars won't be affected by this change. For new clients that use these calendars, we will handle the newly added leap day in the following places: