2010年9月3日 星期五

[PHP] 你的PHP程式是否會產生Y2K38的Bug?

原本的時間取得方式會導致Y2K38

<?php
$date = '2040-02-01';
$format = 'l d F Y H:i';
$mydate1 = strtotime($date);
echo date($format, $mydate1);
?>

用PHP 5.2.0 後的新的DateTime Class來修正

<?php  
$date = '2040-02-01';  
$format = 'l j F Y H:i';  
$mydate2 = new DateTime($date);  
echo $mydate2->format($format);
?>

不過2038還那麼久, 現在擔心好像還太早, 目前很難出現災情, 不然以後都習慣用DateTime Class就好了
Related Posts Plugin for WordPress, Blogger...