前の記事 ≪:MS、Vistaで追加・変更された文字をXPで利用できる日本語フォントを公...
次の記事 ≫:JavaScript: クロスブラウザでブロック要素内のクリック座標を得る方法

PHPによる2038年問題対応

2007年02月12日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法
【PHP TIPS】 8. 2038年問題:ITpro
Calcクラスを使うと速度が遅くなってしまいますがUNIXタイムを扱いませんので、子孫にやさしいコーディングを行う事が出来ます。

PHPによる2038年問題対応。
PHPで time 関数などによってUNIXタイムを使っている人も多いはずです。
この関数では、「1171206000」のように10桁の「1970年1月1日 00:00:00 GMT」からの秒数を返します。
int型の値では、2038年以降の日付を表すことは出来ません。(2147483647 までの秒数しか表せない)

そこで、Pear::Dateの使い方が紹介されてます。

使い方は次のようにそんなに難しいものではないので、2038年以降も扱うプログラムを書く場合はこのモジュールを使いましょう。

<?php
require_once "Date/Calc.php"
;

$nextday Date_Calc::nextDay('31''12''2999''%Y-%m-%d'
);
echo 
$nextday
;
?>

カレンダーなど、2038年以降も扱うプログラムでは重宝しそうですね。

それにしても、2038年以降ではPHPはどうなっているんでしょうね。
バージョンはいくつぐらいになっているんでしょうか。Pear::Dateなんかは存在するのかも気になりますね:-)

関連エントリ

追記: 2007/2/14 記事の修正を行いました。ご報告頂いた方、ありがとうございます。
スポンサード リンク

By.KJ : 2007年02月12日 13:10 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)