KK-NETレンタルサーバーサービス ベスト・レンタルサーバ・サービス
レンタルサーバー サイトマップ
最新情報サービス案内サポート回線状況会社案内求人情報お問合わせ著作権について
イメージ画像
テクニカルなFAQ 技術的な質問とその回答を扱っています。
一般的なFAQ テクニカルなFAQ FAQ検索

CGIで西暦2000年が100年や19100年になるのですが

OSがサポートするstruct tmのtm_yearは西暦1900年からの経過年数が格納されています。 したがってperlのlocaltime()やgmtime()では西暦2000年には100を返すのが正常な動作です。このことを理解せずに誤用されたCGIスクリプトなどではこの誤りを正しく修正する必要があるでしょう。

例えば、次のような場合

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

$yearを参照する前に $year += 1900;とするのが西暦を得る正しい方法です。 さらに西暦の下2桁を得たい場合は100で割った余りを利用します。

   ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);



   $year += 1900;

   $year %= 100;

   if($year <10) { $year="0$year" ; } 

これはあくまでも例ですので、それぞれのCGIスクリプトに応じて変更する必要があります。

なお、修正についてはご自身で行うか、CGIスクリプトの作成者や配布元などのサポート窓口にお問い合わせください。弊社ではお客様や第三者によって作成されたCGIスクリプトに関する問い合わせやサポートは一切行っておりませんのでよろしくお願いいたします。

参考:ホームページのCGIと2000年問題(INTERNET Watch)


[ 戻る]
ページの先頭へ
[ サービス案内 : レンタルサーバーVPSプラン比較サーバーハウジングドメイン取得リセラーディスカウント]
[ ユーザーサポート : FAQmini/Lite/150パーソナル10バーチャルサーバー機能拡張CGIライブラリ]
[ ホーム] [ 最新情報] [ 回線情報] [ 会社案内] [ 求人情報] [ お問合わせ] [ 著作権について]
Copyright © 1997-2023 KK-NET. All rights reserved.
All brand names and product names used on these web pages are trademarks, or trade names of their respective holders.
Rental server hosting services provided by sales@kk-net.net
KK-NET レンタルサーバーサービス