Разница в днях между сегодняшним днем ​​и меткой времени Unix. - PullRequest
0 голосов
/ 16 октября 2018

Итак, первым делом стоит указать DateDiff ()?

<?php

$date1 = strtotime(1766253900); // expiry date
$date2 = strtotime(1539652560); // todays date
$dtDiff = $date1 - $date2;
$totalDays = intval($dtDiff/(24*60*60));
echo $totalDays
?>

Я пробовал это так, но выводится 0 ZERO

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Вот как это можно сделать, используя DateTime и DateInterval классы:

// set expiry date
$date1 = (new DateTime())->setTimestamp(1766253900);
// today's date
$date2 = new DateTime();
$diff = $date1->diff($date2);
echo $diff->days;

Выход (по состоянию на 15/10 /2018)

2622
0 голосов
/ 16 октября 2018

Поскольку вы вводите 1766253900 и 1539652560, уже являются временными метками, функция strotime позволяет сделать обычную дату преобразованием времени UNIX, поэтому вам не нужно использовать strotime для преобразования времени UNIX во время UNIX

<?php
$date1 = 1766253900; //expiry date
$date2 = 1539652560; //todays date
$totalDays = intval(($date1-$date2)/(24*60*60));
print_r($totalDays);

Вы можете использовать функцию mysql для преобразования времени UNIX в обычное время

mysql> select from_unixtime(1766253900); #2025-12-21 02:05:00

, но также можете использовать функцию mysql для преобразования времени в UNIX

mysql> select unix_timestamp('2025-12-21 02:05:00'); #1766253900
0 голосов
/ 16 октября 2018

Просто удалите strtotime, поскольку обе даты уже являются временными метками UNIX, т. Е. Количество секунд с 1970 г.

<?php

$date1 = 1766253900; // expiry date
$date2 = 1539652560; // todays date
$dtDiff = $date1 - $date2;
$totalDays = intval($dtDiff/(24*60*60));
echo $totalDays
?>
...