Home > PHP > 2038年問題

2038年問題

  • 2007-02-12 (月) 18:42
  • PHP
  • このエントリーをはてなブックマークに追加
この記事の所要時間: 039

32ビットPCでは数値を扱う限界があります。

PHPで日付を扱う事が多いと思いますが、UNIXタイムスタンプを利用すると数値 の限界に引っかかる事を知っておく必要があります。

【PHP TIPS】 8. 2038年問題:ITpro

エントリではPEAR::Dateが紹介されていますが、ここでは別の方法を。

5.2.0以降になりますが、組み込みクラスのDateTimeクラスならこの問題に対応しています。

PHP:
  1. <?php
  2. $date = new DateTime('2038-1-19 12:14:07');
  3. echo $date->format('Y/m/d H:i:s') . PHP_EOL;
  4. $date->modify("+1 day");
  5. echo $date->format('Y/m/d H:i:s') . PHP_EOL;
  6. $date->setDate(3000,12,31);
  7. echo $date->format('Y/m/d H:i:s') . PHP_EOL;
  8. ?>
CODE:
  1. $ php 2038.php
  2. 2038/01/19 12:14:07
  3. 2038/01/20 12:14:07
  4. 3000/12/31 12:14:07

トラックバック:0

このエントリーのトラックバックURL
http://www.1x1.jp/blog/2007/02/php_2038_datetime.html/trackback
Listed below are links to weblogs that reference
2038年問題 from Shin x blog

Home > PHP > 2038年問題

検索
フィード
メタ情報

Return to page top