|
|
|
| Люди можно как-нить узнать сколько времени между 2?
допустим у нас есть такие числа (ввиде времени) 12:23:09 и 14:57:45 как узнать сколько между ними времени (в числах разумеется) | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 09:55)
| | Вроде так
<?
$date_1 = '12:23:09';
$date_2 = '14:57:45';
#преобразуем в метку времени Unix
$stamp_1 = strtotime($date_1);
$stamp_2 = strtotime($date_2);
#из большей даты вычитаем меньшую, что бы найти отрезок времени
$stamp_result = $stamp_2 - $stamp_1;
$date_3 = date('H:i:s',$stamp_result);
echo $date_3;
?>
|
| |
|
|
|
|
|
|
|
для: ONYX
(20.07.2011 в 10:50)
| | Спасибо вы мне оч помогли | |
|
|
|
|
|
|
|
для: ONYX
(20.07.2011 в 10:50)
| | Э-э тут такая проблема, этот код неправильно считает
как между ними
$date_1 = '12:23:09';
$date_2 = '14:57:45';
может быть
05:34:36
? | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 11:06)
| | А-а понял видимо придется придерживаться 1-12 а не 1-24 | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 11:08)
| | ((((((((( и всё же я не понял как он считает ( | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 13:37)
| | Нужно немножко изменить вывод даты, при помощи функции date() уже не получиться выводить форматированную разницу двух UNIXSTAMP-форматов
<?php
// Исходные даты
$date_1 = '12:23:09';
$date_2 = '14:57:45';
//преобразуем в метку времени Unix
$stamp_1 = strtotime($date_1);
$stamp_2 = strtotime($date_2);
//из большей даты вычитаем меньшую, что бы найти отрезок времени
$stamp_result = $stamp_2 - $stamp_1;
// Выводим дату
echo print_date($stamp_result);
function print_date($diff)
{
$seconds = $minutes = $hours = 0;
$minutes = intval($diff / 60);
$seconds = $diff % 60;
$hours = intval($minutes / 60);
if($hours) $minutes = intval($seconds % 60);
return sprintf("%d:%02d:%02d", $hours, $minutes, $seconds);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.07.2011 в 13:54)
| | а терь он считает часы а минуты и секунды стоят на месте | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 15:33)
| | Не могу воспроизвести, у меня изменяются... Приведите пример ваших временных меток и результата, который выводит скрипт. | |
|
|
|
|
|
|
|
для: cheops
(20.07.2011 в 15:50)
| | Выводить это 7:36:36 в принципе то что мне и надо часы меняються
тока когда меняешь минуты они по любому бывают 36:36 | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 16:08)
| | Да, ошибка закралась, попробуйте следующий вариант
<?php
// Исходные даты
$date_1 = '12:13:09';
$date_2 = '14:57:45';
//преобразуем в метку времени Unix
$stamp_1 = strtotime($date_1);
$stamp_2 = strtotime($date_2);
//из большей даты вычитаем меньшую, что бы найти отрезок времени
$stamp_result = $stamp_2 - $stamp_1;
// Выводим дату
echo print_date($stamp_result);
function print_date($diff)
{
$seconds = $minutes = $hours = 0;
$minutes = intval($diff / 60);
$hours = intval($minutes / 60);
$seconds = $diff % 60;
if($hours) $minutes = intval($minutes % 60);
return sprintf("%d:%02d:%02d", $hours, $minutes, $seconds);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.07.2011 в 16:31)
| | Да работает тока теперь секунды стоят ))) лан эт не беда )) | |
|
|
|
|
|
|
|
для: Dazzl
(20.07.2011 в 16:47)
| | Странно, у меня меняются... | |
|
|
|