CGI-BBS > 電子掲示板 > 電子日記帳 > 電子日記帳について1月が土曜からなのに金曜から始まってしまう


カレッヂ
カレッヂ


質問者 岸原史明  投稿日 2004/11/22(月) 23:03:21
香呂南小学校の行事予定に活用させていただいています。
2004年の12月までは、正常に動作しているのですが、12月31日が金曜日で終わっているのに関わらず、1月が金曜日から始まっています。
したがって、2月以降もすべてずれ込んでいるのでどうしたら良い物かと思案しています。
ご教授願えたら幸いです。

プロバイダ参照:http://www3.ssj.gr.jp/kouro-minami/cgi-bin/calendar/diary.cgi
サーバのOS:UNIXサーバ
パソコンのOS:MacX
エディタ:Jedit
FTPソフト:fetch
サーバ移転:していない
改造:していない 改造前正常動作
CGI習熟度:middle

回答者 sim  [削除]  投稿日 2004/11/24(水) 21:13:14
ページを見た感じでは閏年の計算がおかしいっぽいですね。
閏年の翌年が366日とかの計算になっている気がします。

この辺を修正してみてはいかがでしょうか?
質問者 岸原史明  [削除]  投稿日 2004/11/24(水) 21:41:19
申し訳ございません。閏年の部分を具体的にどのように修正したらよろしいのでしょう?
回答者 しあわせのツボ  [削除]  投稿日 2004/11/26(金) 00:03:01
バグと思われますので、レスキューさんに直接問い合わせた方が良いと思います。
レスキューさんはここの全てを見ている訳ではありませんし、
バグ報告であればそれなりの対応をしてくれます。
もちろん、普段はむやみにメールを出すべきではありませんが。
回答者 rescue  [削除]  投稿日 2004/11/26(金) 10:28:11
ご利用ありがとうございます。また、回答をしてくださっているみなさん、感謝しています。

さて、まず当サンプルを確認したところ実は症状が出ませんでした。
http://www.rescue.ne.jp/cgi/webdiary/sample/diary.cgi

まず確認していただくことは、当サイトから最新バージョンをダウンロードして、
別のフォルダに実験的に設置して動作がどうか確認してみてください。
まれに、設置する環境によって計算がずれてしまうこともあったので…。

それで正常であれば、現在設置されているものが最新バージョンかどうかの確認と、
現在運用しているdiary.cgiの名前を変更して、いつでも元に戻せるようにして、
ダウンロードしなおした方のdiary.cgi(初期設定は一通り設定)と入れ替えてみてどうか、
確認してみてください。

余談ですが、うるう年の判定は実はとても簡単確実なので、それが原因とはなかなか考えられないので、
その他の部分で何か不具合が出ているのかなと思います。
逆に、秋分と春分の日などは本当は所轄官庁からの発表で決まり、計算で出るものではないので、
ずれる場合はあります。
回答者 pure  [削除]  投稿日 2005/1/14(金) 00:10:39
# getwday@2月の日数および曜日判定
# 基本年からの通算日数(該当前年まで)

#$base = (($year - 1) * 365) + (($year - 1) / 4) - (($year - 1) / 100) + (($year - 1) / 400);

↓のように直しました。
$base = (($year - 1) * 365) + int(($year - 1) / 4) - int(($year - 1) / 100) + int(($year - 1) / 400);


回答者 rescue  [削除]  投稿日 2005/1/14(金) 00:28:44
レポートありがとうございます。サーバによって小数点以下の出力が違う場合が
あったので、そういうことが微妙に影響してずれてしまったのかなぁ。
その部分は日記帳を設計したときに万年カレンダー計算を勉強するきっかけになった
天文のページで算出式を勉強したんですが、「考え方」+「現実の算出」を両方
考えなくてはならないようですね。修正するか、参考事項として掲載させて
いただきたいと思います。ありがとうございました。

返信(回答)する

 


Web裏技