Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вычислить разницу во времени? 2012-08-29 19:58:10 
:(
    Опции темы
Win MK 32
Дата 16.9.2012, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Время в таком виде хранится
2012-08-29 19:58:10
2012-08-29 22:15:10

Как вычислить разницу в двух таких временах?
PM   Вверх
Sanchezzz
Дата 16.9.2012, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



php 5.3+
пример из мануала 
Код

function adate_diff($start , $end) {
        $interval = date_diff(date_create($start), date_create($end));
        $out = $interval->format("Years:%Y,Months:%M,Days:%d,Hours:%H,Minutes:%i,Seconds:%s");
            $a_out =  array();    
            array_walk(explode(',',$out), function($val,$key) use(&$a_out){
                $v=explode(':',$val);
                $a_out[$v[0]] = $v[1];
            });
            return $a_out;
    }

$intervalArr = adate_diff('2012-08-29 19:58:10','2012-08-29 22:15:10');
print '<pre>';
print_r($intervalArr);
print '</pre>';
/*
Array
(
    [Years] => 00
    [Months] => 00
    [Days] => 0
    [Hours] => 02
    [Minutes] => 17
    [Seconds] => 0
)
*/


можно и короче но работаем уже с объектом 
Код

  $interval = date_diff(date_create($start), date_create($end)); 




Это сообщение отредактировал(а) Sanchezzz - 16.9.2012, 08:20


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Sentox
Дата 16.9.2012, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



Судя по всему timestamp из БД, лучше используйте встроенную функцию в запросе.
MySQL: SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
PM MAIL   Вверх
Gold Dragon
Дата 20.9.2012, 10:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



http://www.php.ru/manual/datetime.diff.html

Объектно-ориентированный стиль

Код

$datetime1 = new DateTime('2012-08-29 19:58:10');
$datetime2 = new DateTime('2012-08-29 22:15:10');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R% дней');


Процедурный стиль

Код

$datetime1 = date_create('2012-08-29 19:58:10');
$datetime2 = date_create('2012-08-29 22:15:10');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%s% секунд');



Это сообщение отредактировал(а) Gold Dragon - 20.9.2012, 10:19


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0784 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.