<?php
header('Content-Type: text/plain');
$time = '0000-00-00 00:00:00';
echo $time . PHP_EOL . PHP_EOL;
$time = strtotime($time);
echo $time . PHP_EOL . PHP_EOL;
在我們的開發服務器上,第二個$time
不輸出任何內容。 var_dump()
的測試顯示其值爲false
。這很好。在現場服務器上,我得到943920000
。用var_dump()
進行的測試顯示這是一個整數。爲什麼strtotime()在不同的服務器上以不同的方式工作?
爲什麼?
顯然it is fairly common for dates of zero to come up as 30 November 1999。爲什麼?爲什麼在某些服務器上而不是其他的?
這可能是因爲不同服務器上的時區差異或配置? –
也許不是最好的解決方案,但在做轉換之前檢查'$ time == 0'是什麼?詳細瞭解您的設置(時區配置,PHP版本,...) – breiti
@breiti。這就是我最終做的。它似乎工作。我只是想知道1999年11月30日有什麼特別的。 – TRiG