[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разница во времени
soniclord
Здравствуйте!
Я уже пол инета облазил, так и не нашел как можно реализовать следующее:
в бд имеется время, с помощью php я нахожу текущее время, но как мне найти разницу между этими двумя временами, и если разница > 10 минут, то то-то, а иначе другое.

$cur_time=date("H:i:s");
$time=$row['time'];




Спустя 2 часа, 13 минут, 15 секунд (22.12.2009 - 15:34) Stuff_f написал(а):
вот пример разницы с датами ну допетри я думаю под свои нужды huh.gif

<?php
$century = mktime(12, 0, 0, 1, 1, 2001);
$today = time();
$difference = $todey - $century;
echo 'Это старт';
echo floor($difference / 84600);
$difference = 84600 * f;oor($difference / 84600);
echo ' День';
echo floor($difference / 3600);
$difference = 3600 * floor($difference /3600);
echo ' Часы';
echo floor($difference / 60);
$difference = 60 * floor($difference / 60);
echo " минуты? и $difference секунды.";
?>

wink.gif

Спустя 14 минут, 35 секунд (22.12.2009 - 15:49) soniclord написал(а):
в коде было 2 ошибки (синтаксические). Но скажите, в базе же у меня время хранится в формате 00:00 как мне преобразовать или что еще сделать? или переменную в mktime засунуть?

Извините за глупые вопросы, я просто с датой впервые работаю

Спустя 21 минута, 56 секунд (22.12.2009 - 16:11) Stuff_f написал(а):
a - "до" и "после" полудня: "am" или "pm"
A - "До" и "После" полудня: "AM" или "PM"
d - день месяца, 2 цифры (на первом месте ноль) (от 01 до 31)
D - день недели, текстовый, 3 буквы; т.е. "Fri"
j - день месяца, 1-2 цифры без начальных нулей (от 1 до 31)
F - месяц, текстовый, длинный; т.е. "January"
h - час, 12-часовой формат (от 01 до 12)
H - час, 24-часовой формат (от 00 до 23)
g - час, 12-часовой формат без нулей (от 1 до 12)
G - час, 24-часовой формат без нулей (от 0 до 23)
i - минуты (от 00 до 59)
I(большая i) - 1, если действует переход на летнее время, иначе 0
L - 0, если год не високосный, или 1 в противном случае
B - Swatch Internet time
T - временная зона компьютера, например: MDT (доступна не всегда)
l (строчная "L") - день недели, текстовый, длинный; т.е. "Friday"
m - месяц, две цифры с нулями (от 01 до 12)
n - месяц, одна-две цифры без нулей (от 1 до 12)
M - трехбуквенное английское сокращение месяца; т.е. "Jan"
t - число дней в указанном месяце (от 28 до 31)
s - секунды (от 0 до 59)
S - англоязычный порядковый суффикс числа из двух букв, текстовый, т.е. "th", "nd"
U - целое число секунд, прошедших с момента начала эпохи UNIX (доступно не всегда)
Y - год, цифровой, 4 цифры (1999)
y - год, цифровой, 2 цифры (99)
w - порядковое число дня в неделе,(от 0-воскресенье до 6-суббота)
z - порядковое число дня в году (от 0 до 365)
Z - смешение временной зоны в секундах (от -43200 до 43200)

Спустя 5 минут, 29 секунд (22.12.2009 - 16:16) soniclord написал(а):
sad.gif на эту таблицу я уже смотрел часа 3.
Представьте поле в БД, оно имеет тип TIME. и вот я получаю данные из БД и имею текущее время. Как теперь эти 2 переменные мне сравнить и если разница > 10 минут тогда.... smile.gif

еще раз извините

Спустя 3 минуты, 55 секунд (22.12.2009 - 16:20) Stuff_f написал(а):
может так

if (время с db_SQL == время сейчас)
{

echo "Емае пора пить пивассс!";

}

sad.gif

Спустя 4 минуты, 24 секунды (22.12.2009 - 16:25) soniclord написал(а):
не смешно...
		while($row=mysql_fetch_array($result)) {
$id_pools=$row['id'];
$title=$row['title'];
$ip=$row['ip'];
$time=$row['time'];
}
$ip_now=getenv("REMOTE_ADDR");
if ($ip_now==$ip){
$cur_time=date("H:i:s");
if (текущее_время>время_в_бд+10) $yes='yes'; else $yes='no';
}

Спустя 14 минут, 53 секунды (22.12.2009 - 16:40) Stuff_f написал(а):
блин сделай вывод времени из таблицы и сравни с временем настояшим и все блин, что не понятного

Спустя 7 минут, 53 секунды (22.12.2009 - 16:47) soniclord написал(а):
не получается!
if (($cur_time>$time)/60+10) $yes='yes'; else $yes='no';

Спустя 4 минуты, 38 секунд (22.12.2009 - 16:52) Stuff_f написал(а):
пипец причем сдесь это?, когда у тебя все выводится как 00:00 два типа времени что с базы, что реальное время 00:00, желательно сравнивать только часы и минуты не касяясь секунд ибо будет полбасу не одинаково, короче гемор, я делал так

if ($time==$cur_time)
{
echo "ремя одинаковое";
}else{

echo "время разное";

}






Спустя 3 минуты, 20 секунд (22.12.2009 - 16:55) soniclord написал(а):
я делаю это для голосования, хочу ставить ip в бан на 10 минут. и вот по истечении этого времени ip опять может принять участие в голосовании. Мне не нужно сравнивать, это я и так научился, а мне нужно высчитывать разницу в минутах. Если надо изменить структуру БД, то только скажите на какой тип, если можете, помогите....

Спустя 1 час, 18 минут, 57 секунд (22.12.2009 - 18:14) Stuff_f написал(а):
код который вычисляет минуты:

<?php
$ddate=date("i");
echo $ddate."\n";
$zTime=11; // это переменная содержит то количество минут которое нужно, //для засикания времени

while($ddate)
{
if($ddate==$zTime)
{
echo "ok";
break; // останавливает когда время совподает с реальными минутами и нащими
}else{
echo "no"; // сбрасывает если минуты реальные больше наших 11
exit;
}
}

?>

Спустя 1 час, 11 минут, 5 секунд (22.12.2009 - 19:25) VolCh написал(а):

$time = new DateTime($row['time']);
$now = new DateTime();
$interval = $now->diff($time);
$interval.format("m:s");


как-то так

Спустя 14 часов, 26 минут, 23 секунды (23.12.2009 - 09:52) soniclord написал(а):
сделал!
	$time=time();
mysql_query ("INSERT INTO `khabarovsk`.`rubrika` (`datestamp`) VALUES ('".time()."')") or die(mysql_error()); #создаем дату
$result = mysql_query("SELECT * FROM `rubrika` where id=3;"); # выбираем созданную дату
while($row=mysql_fetch_array($result)) {
$save_time=$row['datestamp'];
}
$difference = time() - $save_time;
echo "Разница в минутах - ".floor($difference / 60);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.