2014-09-24 3 views
0

Я использую ниже код для преобразования секунд в minutes:secondsсекунд до преобразования минут в PHP

$dtF = new DateTime("0"); 
$dtT = new DateTime("500"); 
$dtF->diff($dtT)->format('%i:%s'); 

Он работает отлично в Windows, но не в Linux. Я не знаю причины. Эксперты, пожалуйста, помогите мне в этом.

Я получаю следующее сообщение об ошибке:

Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string

ответ

1

0 и 500 чего? PHP не знает. Укажите ваши единицы времени:

$dtF = new DateTime("0 seconds"); // aka "now" 
$dtT = new DateTime("500 seconds"); 
echo $dtF->diff($dtT)->format('%i:%s'); 
// 8:20 

Demo

+1

* "'0' и' 500', что?" * - яблоки и апельсины, * конечно *;) –

+1

Обратите внимание, что объект DateTime представляет собой абсолютный момент времени; «0 секунд» будет относиться к «сейчас»: '$ dtF = новый DateTime (« 0 секунд »); var_dump ($ dtF); '- в некоторых краевых случаях использование этого синтаксиса может привести к неожиданным результатам (например, скачкам секунд). – TML

+0

Интересно, собирается ли OP принести нам «вынос». По крайней мере, собачий мешок. –

Смежные вопросы