2012-09-16 2 views
1

Пусть у нас есть дата начала и дата окончанияPHP найти истекшее время в секундах

if (isset($_POST['start_date'])) 
    $_POST['start_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['start_date'])); 

if (isset($_POST['end_date'])) 
    $_POST['end_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['end_date'])); 

бы $_POST['end_date'] - $_POST['start_date'] дать вам истекшее время в секундах?

ответ

3

Нет, чтобы получить истекшее время в секундах, вы будете использовать strtotime():

$expired = strtotime($_POST['end_date'])-strtotime($_POST['start_date']); 

if (isset($_POST['start_date'])) 
    $_POST['start_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['start_date'])); 

if (isset($_POST['end_date'])) 
    $_POST['end_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['end_date'])); 

if (isset($_POST['start_date']) && isset($_POST['end_date'])) echo 'Expired time in seconds: ' . $expired; 
+0

В моем коде, я уже включен StrToTime. –

+0

Я обновил свой код – rationalboss

-1

Я предлагаю вам использовать функцию mktime, чтобы получить временную метку unix из литерала даты, который находится в миллисекундах.

$startDate = mktime($hour, $minute, $second, $month, $day, $year); 
$endDate = mktime($hour, $minute, $second, $month, $day, $year); 

$diffInSeconds = ($endDate - $startDate)/1000; // 1 second = 1000 miliseconds 
Смежные вопросы