Datetime в PHP Script

Я использую PHP-скрипт для banlist, который выбирает дату и время, но у меня есть ошибка и я не знаю, как ее преобразовать в «нормальное» время.

Он перечисляет мне только дату: 01.01.1970 um 00:00 Uhr

Часть скрипта из этого:

//Convert Epoch Time to Standard format $datetime = date("dmY \\u\\m H:i \\U\\h\\r", $row['expires']); echo "<td>$datetime</td>"; 

Это запись из mysql db: http://img.ruphp.com/php/9ugjslm8.jpg

Не знаете, помогает ли это?

У кого-нибудь есть идея решить это?

ССЫЛКА: http://pastebin.com/r0dXg8FX

  • Строка происходит из плагина. например: $ row ['name'], $ row ['banner'], $ row ['reason'], это происходит из плагина

На основе этого изображения (которое вы дали в удаленном ответе) у вас есть миллисекунды. Разделите миллисекунды с 1000, чтобы получить секунды.

Возможно, что-то вроде этого:

 $datetime = date('dmY \u\m H:i \U\h\r', $row['expires'] / 1000); 

Но, если вы получите 1970 год, это означает, что вы на 32-битной машине, и ваш выбранный INT находится вне пределов досягаемости. В этом случае вы можете просто сократить последние 3 числа с помощью строковой функции substr() :

 $datetime = date('dmY \u\m H:i \U\h\r', substr($row['expires'], 0, -3)); 

Он перечисляет мне только дату: 01.01.1970 um 00:00 Uhr

Это просто означает, что вы неправильно думаете о $row['expires'] . Это не значение отметки времени UNIX и приводит к недействительной дате. Это означает, что значение по существу оценивается в 0, что является 1 января 1970 года в UNIX

date() требует отправить действительную временную метку Unix (INT 11), это то, что у вас есть в базе данных для этого поля? или это поле даты времени?

Попробуй это

 echo date("dmY \\u\\m H:i \\U\\h\\r", "2014-10-12"); //invalid echo date("dmY \\u\\m H:i \\U\\h\\r", time()); //valid: current unix timestamp 

Сначала конвертируйте дату в метку UNIX. Попробуйте –

 $datetime = date("dmY \\u\\m H:i \\U\\h\\r", strtotime($row['expires'])); echo "<td>$datetime</td>";