No compara fecha PHP

(1/1)

SrTrp:
Estoy comparando una fecha y dice que no es mayor que tal..
Código
$hoy = date("d-m-Y");
$semana4_inicia =date("d-m-Y",strtotime($hoy."- 6 days"));
$semana4_termina =$hoy;
echo "<br>".$row["fecha"]." : INICIA: ".$semana4_inicia." : TERMINA: ".$semana4_termina;
if($row["fecha"]>=$semana4_inicia) echo "si";
 
Casos de prueba:
Código:

02-10-2022 : INICIA: 27-09-2022 : TERMINA: 03-10-2022
03-10-2022 : INICIA: 27-09-2022 : TERMINA: 03-10-2022

Cuando comparo que sea menor o  igual a la $semana4_termina, si imprime si, pero cuando hago que si es mayor o igual a la semana de inicio no entra al if, no se si sea por el mes que es diferente al 09 o por que

MinusFour:
Las fechas no se comparan así, se convierten a un timestamp con strtotime y luego se comparan esos enteros.

En tu ejemplo, PHP acaba comparando '0' con '2' y por ende dice que la fecha es menor. 'Y-m-d' es más seguro para comparar fechas de esta forma pero tampoco lo recomendaría.

mchojrin:
Otro método que te puede resultar más sencillo es usar los objetos fecha de PHP:

Navegación

[0] Índice de Mensajes