Я хочу рассчитать время между двумя установленными временами (запуск задания Cron 1 час, каждый час).Рассчитать Если было меньше или больше 24 часов, используя PHP
EG:
2:18 вечера по 20/06/2012 3:00 вечера на 21/06/2012 * Работает Cron Job, более 24 часов
Как бы я вычисляю это PHP для выполнения задачи, которую я буду развивать позже.
Сценарий Я попытался:
define("SECONDS_PER_HOUR", 60*60);
date_default_timezone_set('UTC');
$result = mysql_query("SELECT * FROM tickets") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
// Calculate the start time
$str = $row['openTime'] . " " . $row['openDate'];
$startdatetime = strtotime($str);
$enddatetime = time();
// calculate the difference in seconds.
$difference = $enddatetime - $startdatetime;
$hoursDiff = $difference/SECONDS_PER_HOUR;
$minutesDiffRemainder = $difference % SECONDS_PER_HOUR;
echo $row['ticketID'] . ": " . $hoursDiff . "h " . $minutesDiffRemainder . "m<br />";
}
Вы пробовали что-нибудь? – lanzz
конечный результат: MFT-252224: 74.5166666667h 1860m MFT-768337: 18.4333333333h 1560m MFT-848286: -7.81666666667h -2940m MFT-70960: -0.0075h -27m MFT-543912: -0.0075h -27m MFT-512905: -0.0075h -27m MFT-496896: -0.0075h -27m MFT-879190: -0.0075h -27m – user1471191
Kris, я немного отредактировал ваш код, используйте 'date_default_timezone_set' рано на вершине, так как его конфигурация , Затем сначала отформатируйте строку, затем запустите 'strtotime'. И во второй раз вы могли бы избавиться, просто используя 'time()'. Теперь осталось только разделить две временные метки UNIX, которые были заданы перед небольшим поиском, чтобы раскрыть ее быстро. – hakre