2016-01-04 8 views
0

Я установил время в SQL в таком формате: 2016-01-03 12:13:26. Я хотел бы рассчитать количество часов и минут (если часы < 1), идущие от СЕЙЧАС() к этому конкретному времени SQL. Я рассматривал все различные темы здесь, но я не могу понять, как преобразовать PHP разных временных форматов в SQL.Как рассчитать разницу во времени между SQL-временем и временем PHP

Это код, который я использовал, но это даст мне только часы до 12 и минуты. Не знаю, как использовать его с днями.

$now = date("d/m/Y h:i:s"); 
$commentime = strtotime($SQLTIME); 
$timetocomment = $now - $commentime; 

Например, этот код даст «12 часов назад» для данных, которые я отправил 24 часа назад в SQL. Как я могу это сделать? Спасибо.

+0

я думаю проблема заключается в $ now = date ("d/m/yh: i: s"), попробуйте преобразовать ее в 24 часа не 12 часов, также идите, проверяйте время в базе данных, смотрите ли ее 00:00:00 до 23: 59:59 –

ответ

0

Это мое предложение использовать date() в таком формате date("Y-m-d h:i:s"). Чем вы получите полную разницу в array.

function dateDifference($date_1 ,$date_2) 
{ 
    $datetime1 = date_create($date_1); 
    $datetime2 = date_create($date_2); 

    $interval = date_diff($datetime1, $datetime2); 
    return $interval; 
} 

$now = date("Y-m-d h:i:s"); 
$sqlTime = "2016-01-03 12:13:26"; 
$DateDiffArr = dateDifference($now,$sqlTime); 

echo "<pre>"; 
print_r($DateDiffArr); 

Результат Is:

DateInterval Object 
(
    [y] => 0 
    [m] => 0 
    [d] => 0 
    [h] => 22 
    [i] => 45 
    [s] => 55 
    [weekday] => 0 
    [weekday_behavior] => 0 
    [first_last_day_of] => 0 
    [invert] => 1 
    [days] => 0 
    [special_type] => 0 
    [special_amount] => 0 
    [have_weekday_relative] => 0 
    [have_special_relative] => 0 
) 

В результате array, вы можете получить всю разницу, как вам нужно, как и в годы, месяцы, дни, минуты, секунды и т.д.

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