cal: dates before September 1752 use the Gregorian calendar

Offen
#684 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
cli

Rechercherichtung

Start by locating the Rust implementation and tests for cal, then compare its calendar calculations and option parsing with the examples in the issue. The requested behavior covers Julian dates, reform selection, ISO mode, and year bounds; done means the default output and supported options match the specified util-linux behavior, with tests covering the listed examples.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

util-linux cal switches to the Julian calendar before the 1752 reform (its default --reform 1752), so September 1752 drops the 3rd to the 13th and earlier months keep their historical weekdays and leap days. cal here uses the Gregorian calendar for every year:

$ cal 9 1752                      util-linux 2.41.5           this cal
                                     September 1752           September 1752
                                  Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
                                         1  2 14 15 16                    1  2
                                  17 18 19 20 21 22 23      3  4  5  6  7  8  9
                                  24 25 26 27 28 29 30     10 11 12 13 14 15 16 ...
  • cal 2 1700: util-linux has a 29th and starts on Thursday; here it ends on the 28th and starts on Monday.
  • cal 1 1: util-linux starts on Saturday, here on Monday.
  • cal -j 9 1752: util-linux numbers the days 245, 246, 258, 259...
  • --reform (1752|gregorian|iso|julian) and --iso are not accepted.

Year bounds also differ: util-linux rejects year 0 ("illegal year value: use positive integer") and accepts 10000, where this one shows January 0000 and rejects 10000 with "invalid date".

The output for 1753 and later already matches. Is following util-linux here wanted? If so I can send a PR: Julian weekdays and month lengths before 1752-09-14 by default, and --reform/--iso to choose.

Checked on main a3b2083 against util-linux 2.41.5 (Fedora 43).

Vorherrschende Sprache
Rust
Sterne
230
Forks
62
Ø Merge
1 T. 2 Std.
Gemergte PRs (30 T.)
23

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus uutils/util-linux

Alle Issues in uutils/util-linux

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.