Forum Webscript.Ru
Программирование => PHP => Тема начата: не не от 24 Сентября 2002, 20:32:21
-
есть $date1 и $date2
первая берётся из базы а другая равна time()
и надо определить наступил ли следующий день с момента первой даты
-
Поищи по форуму. На моей памяти как минимум два подобных топика.
-
GotZfild
На РНРКлубовском форуме обсуждение закончилось, когда мужики совсем офигели после такого вопроса:
я: сравнивать date("d",time()) и день из базы.
не не: а если уже месяц прошол или год, и день при таком сравнении будет равен
Человек к вам за помощью пришел, а вы - "в поиск". Негуманно.
-
if ((int)date("Ymd",$date2)-(int)date("Ymd",$date1)>0) {
.....
}
-
а может на стороне mysql?
SELECT (to_days(now()) - to_days(date)) FROM table;
-
Собираешь время в секундах с 1970 года
$now=mktime();
потом cравниваешь его, складываешь, вычетаешь, умножаешь, делишь:) вобщем делаешь всё что твоей душе угодно:)
А для просмотра выводишь так как тебе нравится, например:
echo(date(" [D M j Y] [H:i:s] ", $now));
-
Ребята.
Все это хорошо.
Но до сих пор никто в мире не знает, в каком формате у него дата в базе.
-
Так пусть сделает в нормальном формате и сообщит всему миру:)
-
Если это очень сложно можно сделать примерно так:
$day=28; //берёшь из базы
$mon=10; //берёшь из базы
$year=2000; //берёшь из базы
$dayfrombase=mktime(0,0,0,$day,$mon,$year); //перевод в секунды после 1970
$daynow=mktime(0,0,0,date("m"),date("d"),date("Y")); //текущий день в секундах после 1970
if ($dayfrombase!=$daynow) echo "Наступил новый день";
-
Ну, и я всунусь :)
//$date1 - timestamp (судя по вопросу), взятый из базы
$date2=time();
if (($date2-(ceil($date1/86400)*86400))>0)
echo "Наступил новый день";
-
Доктор
зачем эти вычисления: (ceil($date1/86400)*86400) ?
Округлит ceil в большую сторону и получится примерно на 0.5 дня больше.
-
Million
зачем эти вычисления: (ceil($date1/86400)*86400) ?
Округлит ceil в большую сторону и получится примерно на 0.5 дня больше
Не понял вопроса... Эти вычисления дают начало следующего дня относительно $date1. Что неясно?
-
Доктор
Всё ОК!
-
Доктор, не лечи мОзги :-)
Твой алгоритм с пробоями. См. мой выше - и будет щастье.
-
Щас угадаю: не учитывается переход на зимнее/летнее :)) Забыл как-то за азартом алгоритмостроений ;)
-
Угу. И еще время 00:00:00 не учет.
-
PilotV
И еще время 00:00:00 не учет.
А это, типа, не новый день :Р