スウェーデン暦
2013-03-02の記事にも書きましたが、スウェーデンの暦は
Wikipedia に書かれているような事情で、1700~1712年の
日付が一日ずれ、復活祭の日取りも他と異なります。
今回、残暦法の一種としてスウェーデン暦を実装しました。
Webサーバーから使うには、
http://hosi.org/cookies/0 で、スウェーデン暦を

のように旧暦として指定します。改暦の日付は1753年3月1日です。
http://hosi.org/*/1712-02%5E%5ECivil%3Fold=Swedish
のように1712年2月30日の存在を確認できます。
復活祭の日取りは、http://www.ortelius.de/kalender/east_en.php
に合わせました。Calendar('Civil?old=Swedish')[1]ではグレゴリオ
改暦後の、1802,1805,1818年の復活祭も史実通りとなるように
配慮しました。
技術的には Julian, Gregorian, Swedish, RevisedJulian などの
暦は CyclicTableBased の一種として実装可能なのですが、使用
頻度が高いと思われる Julian, Gregorian を専用のロジックに
よる実装にした影響で、Swedish, RevisedJulian も専用ロジック
になりました。これらを Christian のサブクラスとして扱いた
かったためです。
[1] 旧暦に Swedish を指定するとデフォルトの改暦日付が
1753年3月1日になります。
Wikipedia に書かれているような事情で、1700~1712年の
日付が一日ずれ、復活祭の日取りも他と異なります。
今回、残暦法の一種としてスウェーデン暦を実装しました。
Webサーバーから使うには、
http://hosi.org/cookies/0 で、スウェーデン暦を

のように旧暦として指定します。改暦の日付は1753年3月1日です。
http://hosi.org/*/1712-02%5E%5ECivil%3Fold=Swedish
のように1712年2月30日の存在を確認できます。
復活祭の日取りは、http://www.ortelius.de/kalender/east_en.php
に合わせました。Calendar('Civil?old=Swedish')[1]ではグレゴリオ
改暦後の、1802,1805,1818年の復活祭も史実通りとなるように
配慮しました。
技術的には Julian, Gregorian, Swedish, RevisedJulian などの
暦は CyclicTableBased の一種として実装可能なのですが、使用
頻度が高いと思われる Julian, Gregorian を専用のロジックに
よる実装にした影響で、Swedish, RevisedJulian も専用ロジック
になりました。これらを Christian のサブクラスとして扱いた
かったためです。
[1] 旧暦に Swedish を指定するとデフォルトの改暦日付が
1753年3月1日になります。
この記事へのコメント