PHP的日期和时间代码有些错误

时间:2015-12-12 07:41:29

标签: php datetime

$strStart = date('Y-m-d h:i:s', time() - 3600);
$strEnd   = $row['DateAndTime'];
$dteStart = new DateTime($strStart);
$dteEnd   = new DateTime($strEnd);
$dteDiff  = $dteStart->diff($dteEnd);
echo $dteDiff->format("%d days, %h hours, %i mints");

此代码在本地服务器上运行良好,但它在实时服务器中根本不起作用。每次页面都变黑。可能是,问题出在第5行。但是,我不确定。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题可以在$row['DateAndTime']变量中。 如果它具有正确的日期时间值,请选择shure。 可能你可以插入一些fromat检查,如:

preg_match(
    '~[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2} [0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}~ui',
    '2015-02-02 03:44:11'
)

和h - 是12小时格式的小时; 可以用H - 24小时格式代替吗?

要启用所有错误,请在脚本的开头添加以下内容:

error_reporting(E_ALL);
ini_set("display_errors", 1);