アカウント名:
パスワード:
詳しくはhttps://kakuyomu.jp/works/1177354054886223897/episodes/1177354054888260263 [kakuyomu.jp]を読んでほしいのだが
「明治6年より前の日本では、現在使っているグレゴリオ暦とは異なる暦を使っているので、そもそも月日が一致しない」
ところがこのiPhoneのカレンダーはグレゴリオ暦のまま、西暦年をそのまま元号に変換しただけ。だから年をさかのぼっても実際の歴史とはずれている。
天正年間までさかのぼってみてもこの時代の日本の暦は宣明暦(太陰暦)で天正11年には閏月があって13月まであった。そこを再現せずにグレゴリオ暦で12月までしか表示しないのは全く意味がない。
カレンダー対応って真面目にやろうとすると専用ロジックを自前で持たないとダメな場合が有るんですよね。1970年より前の日付を扱うとか、祝祭日で営業日のみカウントとか、OSのサポート切れとか移植が楽になるのも追加の理由の一つ。
今ならOSSとかで複数の暦や地域に対応した良いライブラリが有るのだろうか?
C言語の標準ライブラリに、カレンダー関数的なやつ、しかも世界各国のローカル元号やローカル暦にも対応したバージョンやつを入れとけばいい
昔のコンピュータや、組み込み等、少ないメモリで動くやつには無理でも、いまはみんな64bitメモリ数ギガ以上で動いてるんだから問題ないはず
一応.NETのカレンダークラス [microsoft.com]ではグレゴリオ暦のほかに中国の旧暦、和暦、日本の旧暦、ヘブライ暦、イスラム暦、ユリウス暦、韓国暦、韓国の旧暦、ペルシャ暦、台湾暦、台湾の旧暦、タイ仏暦、サウジイスラム暦とかなり幅広く標準サポートしてる。今の和暦は明治6年以降なので明治5年以前の和暦を設定しようとするとエラー扱いしてた覚えがあるんだけど、改元対応で「平成33年」みたいなのもエラー扱いしないように変更されたからか、明治元年~明治5年の太陽暦もエラーにはしなくなったらしい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
全くの無意味 (スコア:5, 参考になる)
詳しくは
https://kakuyomu.jp/works/1177354054886223897/episodes/1177354054888260263 [kakuyomu.jp]
を読んでほしいのだが
「明治6年より前の日本では、現在使っているグレゴリオ暦とは異なる暦を使っているので、そもそも月日が一致しない」
ところがこのiPhoneのカレンダーはグレゴリオ暦のまま、西暦年をそのまま元号に変換しただけ。
だから年をさかのぼっても実際の歴史とはずれている。
天正年間までさかのぼってみてもこの時代の日本の暦は宣明暦(太陰暦)で天正11年には閏月があって13月まであった。そこを再現せずにグレゴリオ暦で12月までしか表示しないのは全く意味がない。
Re: (スコア:0)
カレンダー対応って真面目にやろうとすると専用ロジックを自前で持たないとダメな場合が有るんですよね。
1970年より前の日付を扱うとか、祝祭日で営業日のみカウントとか、
OSのサポート切れとか移植が楽になるのも追加の理由の一つ。
今ならOSSとかで複数の暦や地域に対応した良いライブラリが有るのだろうか?
Re:全くの無意味 (スコア:0)
C言語の標準ライブラリに、カレンダー関数的なやつ、しかも
世界各国のローカル元号やローカル暦にも対応したバージョンやつを入れとけばいい
昔のコンピュータや、組み込み等、少ないメモリで動くやつには無理でも、
いまはみんな64bitメモリ数ギガ以上で動いてるんだから問題ないはず
Re:全くの無意味 (スコア:3, 参考になる)
一応.NETのカレンダークラス [microsoft.com]ではグレゴリオ暦のほかに中国の旧暦、和暦、日本の旧暦、ヘブライ暦、イスラム暦、ユリウス暦、韓国暦、韓国の旧暦、ペルシャ暦、台湾暦、台湾の旧暦、タイ仏暦、サウジイスラム暦とかなり幅広く標準サポートしてる。
今の和暦は明治6年以降なので明治5年以前の和暦を設定しようとするとエラー扱いしてた覚えがあるんだけど、改元対応で「平成33年」みたいなのもエラー扱いしないように変更されたからか、明治元年~明治5年の太陽暦もエラーにはしなくなったらしい。
うじゃうじゃ