Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Разница во времени на php (https://forum.antichat.xyz/showthread.php?t=71287)

George767 24.05.2008 00:19

Разница во времени на php
 
Кому-нибудь известен скрипт на php который считает разницу во времени между двумя врменами. Скажем 1540 и 1820 - 2 часа 40 минут. Что бы адекватно считалась разница между прошлым и следующим днем: 2100 и 0200. Знаю реализовать несложно, но много кода писать..

Реализацию с time() не предлагайте ибо нет конкретных дат, только время (+/- одни сутки).

astrologer 24.05.2008 00:33

Цитата:

Реализацию с time() не предлагайте ибо нет конкретных дат, только время (+/- одни сутки).
0900 и 0901. Прошла минута или сутки?
Цитата:

Знаю реализовать несложно, но много кода писать..
Точно, пусть кто-нибудь другой напишет =)

cash$$$ 24.05.2008 00:47

1) Функция string microtime(void)

Возвращает строку типа "msec sec", где msec - количество миллисекунд и sec - текущее время в секундах.Эта функция работает только в операционных системах, поддерживающих системный
вызов gettimeofday().

2) Функция

array explode(string separator, string string [, int
limit])
Делит строку string в соответствии с разделителем separator и записывает все части (или не все, если указано количество частей limit) в массив, который функция выдает в качестве результата.

3) Функция

void printf (string format [, mixed args])
Эта
функция полностью аналогична своей C версии. Она выводит аргументы (args), по заданному формату format

Параметры:
format - строковый формат вывода данных

args - аргументы, для форматирования
PHP код:

//Считываем текущее время

    
$mtime microtime(); 
//Разделяем
секунды и миллисекунды 
    $mtime 
=
explode(" ",$mtime); 
//Составляем одно число из секунд и
миллисекунд 
    $mtime 
$mtime[1] +
$mtime[0]; 
//Записываем стартовое время в переменную

    
$tstart $mtime

Теперь
в самом конце
после кодавремя выполнения которого нам надо
засечь
пишем

//Делаем все то же самое, чтобы
получить текущее время 
    $mtime 
=
microtime(); 
    
$mtime explode("
"
,$mtime); 
    
$mtime $mtime[1] +
$mtime[0]; 
//Записываем время окончания в другую переменную

    
$tend $mtime
//Вычисляем разницу

    
$totaltime = ($tend $tstart);

//Выводим не экран 
    
printf ("Страница
сгенерирована за %f секунд !"
$totaltime); 

Обратите внимание, что простой вывод с помощью print или echo в данном случае не подходит, так как мы имеем дело с переменной не целочисленного типа, поэтому надо обязательно указать для PHP формат вывода такой переменной.

Isis 24.05.2008 00:53

http://ru2.php.net/manual/ru/function.mktime.php


Время: 20:37