|
|
|
| Есть переменная $hour, в ней задается кол-во часов. И есть $timeban = date('Y-m-d-H-i-s');
Подскажите как можно к $timeban прибавить часы, которые заданы в переменной $hour ??? | |
|
|
|
|
|
|
|
для: ols
(06.08.2008 в 02:37)
| | Наверное не совсем правильно, но всё же:
<?
//$hour - кол-во часов
$timeban = date('Y-m-d-H-i-s');
$exp = explode("-", $timeban);
$exp[3] += $hour;
if($exp[3]>24)
{
$exp[3]-=24;
$exp[2]++;
}
echo $exp;
?>
|
Правда тогда будут проблемы с днями в месяце и т.д.
Как я понял это время бана, не лучше ли его хранить в секундах ( time(); )? А потом просто сверять, прошло время бана или нет. | |
|
|
|
|
|
|
|
для: DEM
(06.08.2008 в 02:46)
| | Тоесть если я правильно понял, то например время бана пусть будет 2 часа. Эти 2 часа перевести в секунды, прибавить к ним настоящее время (тоже в секундах) и записать в базу. А потом когда пользователь авторизируется, сверять, если настоящее время больше времени бана, то значит авторазбан? Так? | |
|
|
|
|
|
|
|
для: ols
(06.08.2008 в 02:59)
| | Да, время хранить удобнее в Unix-time. К нему легче прибавлять интервалы, вычитать, делить. умножать и т.д. И самое главное - его легче сравнивать. | |
|
|
|
|
|
|
|
для: ols
(06.08.2008 в 02:37)
| |
<?
$hours = 6;
$timeban = date('Y-m-d-H-i-s');
echo $timeban."<br>";
$t = strptime($timeban, '%Y-%m-%d-%H-%M-%S');
$timeban = mktime($t['tm_hour'], $t['tm_min'], $t['tm_sec'], $t['tm_mon']+1, $t['tm_mday'], $t['tm_year']+1900);
$timeban = date('Y-m-d-H-i-s', $timeban + ($hours * 3600));
echo $timeban;
?>
|
| |
|
|
|