Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывод разницы между двумя датами
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Вывод разницы между двумя датами

Страниц (1): [1]
 

1. heeler - 07 Января, 2009 - 18:21:44 - перейти к сообщению
Добрый день!

Подскажите, пожалуйста, как вывести разницу между двумя переменными с датами и временем, т. е. для примера:

CODE (text):
скопировать код в буфер обмена
  1. $first_data = "2009-01-07:34:44"
  2. $last_data = "2009-01-07 18:46:07"


нужно получить $interval по типу:

CODE (text):
скопировать код в буфер обмена
  1. $interval = $last_data - $first_data;


Как это реализовать?
Помогите, пожалуйста.
2. valenok - 07 Января, 2009 - 19:01:04 - перейти к сообщению
Если из БД то при помощи DATE_SUB()
если даты генерируется внутри скрипта, то mktime()
$first_data = "2009-01-07 :34:44"
$last_data = "2009-01-07 18:46:07"
это никак не вычесть ибо это строки.
3. heeler - 07 Января, 2009 - 19:06:36 - перейти к сообщению
А как эти строки к датам преобразовать?
Они внутри скрипта генерятся...
4. Champion - 07 Января, 2009 - 19:45:51 - перейти к сообщению
heeler, может, прочитаешь все-таки? Во второй теме уже тебе говорят
valenok пишет:
5. heeler - 07 Января, 2009 - 20:34:16 - перейти к сообщению
Champion пишет:
heeler, может, прочитаешь все-таки? Во второй теме уже тебе говорят
valenok пишет:


Да читал я...
Правильно я понял, что нужно переменную эту строковую разбить и передать каждое значение как один из параметров mktime?
А результат работы функции присвоить переменной, которая и будет содержать дату...
6. valenok - 07 Января, 2009 - 21:45:31 - перейти к сообщению
нет, нужно просто не генерировать эту строковую переменную, а пользоваться функцией time()
А там на сайте где нужно будет вывести дату в этом виде, если нужно будет,
воспользуйтесь функцией date() со вторым параметром.
Вам бы и о первом не помешало бы почитать )
7. Champion - 08 Января, 2009 - 08:59:35 - перейти к сообщению
Вот на самом деле, почему многие (новички) делают выборку из БД без всяких условий, а потом средствами PHP выбирают то что надо. На SQL проще и быстрее это все сделать, да и памяти php меньше будет использовать, чем если всю выборку в массивы забивать
8. Импртать - 02 Февраля, 2009 - 23:28:35 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $first=strtotime($first_data);
  2. $last=strtotime($last_data);
  3. echo date('m-d h:i', abs($last-$first));

 

Powered by ExBB FM 1.0 RC1