|
|
|
| У меня есть 2 даты, 1 из базы, 2 текущая,
<?
$today = date("d-m-Y");
$today2 = ("01-12-2006");
?>
|
Как их верно сравнить? хотелось бы пример.. | |
|
|
|
|
|
|
|
для: bartik
(30.11.2006 в 15:34)
| | Дата из базы будет записана в формате год-месяц-день. Именно в нем их и надо сравнивать. | |
|
|
|
|
|
|
|
для: Trianon
(30.11.2006 в 15:37)
| | дело в том что у меня формат таблицы дат, не date, а varchar) Так как правильно сравнить? | |
|
|
|
|
автор: 2tl (01.12.2006 в 01:51) |
|
|
для: bartik
(01.12.2006 в 01:11)
| | приводи каждую дату к timestamp и сравнивай как два обычных числа | |
|
|
|
|
|
|
|
для: bartik
(01.12.2006 в 01:11)
| | >дело в том что у меня формат таблицы дат, не date, а varchar) Так как правильно сравнить?
преобразовывать либо в линейный временной тип, либо в строковый ГГГГ-ММ-ДД. И сравнивать результат преобразования.
А лучше сразу деражть дату/время в поле соответствующего типа.
2tl: далеко не каждую дату можно преобразовать к timestamp без потери данных. | |
|
|
|
|
автор: dennger (01.12.2006 в 13:18) |
|
|
для: Trianon
(01.12.2006 в 09:33)
| |
function dt($dt){
return str_replace("-","",$dt);
}
$datetimeinbase= (int)dt(substr($line['DateTimeT'],0,10));
$datetimetoday=(int)date("Ymd");
|
и сравнива как целое, без (int) как строку | |
|
|
|
|
автор: dennger (01.12.2006 в 13:21) |
|
|
для: dennger
(01.12.2006 в 13:18)
| | $line['DateTimeT'] дата в формате гггг-мм-дд | |
|
|
|
|
|
|
|
для: dennger
(01.12.2006 в 13:21)
| | всё разобрался, вся моя ошибка была в том что дата у меня была вида d-m-y , а для сравнения надо использовать y-m-d, чтобы не переделывать все значения сделал так:
<?
$today = date("Ymd");
$mass =explode("-", $s[endtime]);
$datka = $mass[2].$mass[1].$mass[0]; // 2006-12-01 а было 01-12-2006
if($today <= $datka){ echo "Всё в норме"; }
?>
|
где $s[endtime] - вывод из базы , типа 01-12-2006 | |
|
|
|