Примечание о совместимости: работает только для PHP> = 5.3.0
При условии, что формат даты не изменяется, вы можете отменить процесс (т. Е. Отменить метку времени -> строка (вкл.)Twitters серверов), чтобы метки времени), используя точный формат даты.Используя таблицу на странице руководства DateTime :: createFromFormat :
<?php
$str = 'Mon Jul 12 00:27:26 +0000 2010';
$oDateTime = DateTime::createFromFormat('D M d H:i:s T Y', $str);
$unix_timestamp = $oDateTime->getTimestamp();
echo $unix_timestamp;
?>
Осторожно: на моей машине date('d-m-Y H:i:s', $unix_timestamp)
отличается на два часа, часовой пояс машины GMT + 2.
Чтобы рассчитать разницу в днях между двумя временными метками Unix, используйте математические вычисления (день имеет 86400 секунд):
echo ($unix_timestamp1 - $unix_timestamp2) / 86400;
Если у вас есть две такие даты, вы можете использовать DateTime::diff
как предложено в комментариях Zerocrates.Вы создали два экземпляра DateTime
, используя DateTime::createFromFormat
, и вызвали DateTime::diff
с двумя переданными аргументами, ранее созданными экземплярами DateTime.Возвращенный экземпляр DateInterval
имеет свойство d
, которое содержит разницу в днях.
Другой способ - использовать метод getTimestamp
, выполняя вычисления из предыдущего примера.
Ссылки: