[PHP-users 12158] Re: 曜日を取得するには?

Shindo@AtSystem php-users@php.gr.jp
Tue, 10 Dec 2002 19:31:46 +0900


進藤です。こんにちは。

GNU系は、time_t型を32Bitから64Bitに定義しなおして292271023017年までの
対応をさせるそうです。
他のUNIX系のOSや、ANSI C などでコンパイルさせるOSならば
同じ手法が使われるのではないでしょうか。
その為のtime_t型ということなのでしょう。
http://www.debian.org/News/1998/19980104.ja.html

---- Snip Snip ----
>
>From: kaga <kaga@procen.co.jp>
>Date: Tue, 10 Dec 2002 18:38:11 +0900
>
>> 下記のように曜日Noを取得して配列データ(曜日)を参照させて曜日を表示
>> してい
>> ますが2037年を過ぎると動きません。
>> 実行範囲があるのでしょうか?
>
>Unix 系 OS というか、標準 C ライブラリというか… には、2038年問題と
>いうものが存在します。
>
>これは時刻を 1970年 1月 1日 0時 0分 0秒からの経過秒数で示すという
>仕様になっているからです。
>この秒数を保持するのに 32bit signed integer を用いているため、
>概ね 2038年 1月 19日あたりで桁あふれを起こします。
>
>この事自身は広く知られている事実です。
>PHP の関数もこれに依存した作りになっているのでしょう。
>
>> また、下記の方法以外にも曜日を取得する方法はあるのでしょうか?
>
>まぁ、自前で C 言語を用いてこのような問題を起こさない日付関数を
>作成し、それを PHP に組み込むという方法はあります。
>
>あとは、OS 側などで対策が行われ、PHP がそれに対応するまで待つと
>いう方法もあるでしょう。
>
>私はいまのところ、この問題に関しては後者の立場です。
>2030年代には私はもうこの業界にいないだろうし。:-)
>まぁ、2000年問題でも 1980年代半ばに「問題になるようなら、その時の
>担当が考えればよい」と仲間と喋っていたのは内緒。
>
>しかし、保険業などでは数十年後の日付も扱わないといけないので、
>現時点かまたはごく近いうちに問題になるはずです。
>おそらく何らかの手法を用いて解決しているのでしょうが、どうやって
>いるのかは私は知りません。
>
>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>(株) セントラル情報センター
>                             後藤和政    kgotoh@cic-kk.co.jp
>_______________________________________________
>PHP-users mailing list
>PHP-users@php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users
---- Snip Snip ----

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/
_/  進藤寿則@アットシステム
_/  shindo@ atsystem.jp  Tel 022-385-1593  Fax 022-385-1595
_/