я не могу сравнить даты в php.My коде выглядит следующим образом:сравнения Даты в PHP не может быть сделано
$sqldt="select to_char(sysdate-2,'dd-mon-yyyy') from dual";
$stmtdt = $obj->executeQuery($sqldt);
$rowdt = oci_fetch_array($stmtdt,OCI_BOTH);
$startdate = date('d/m/y', strtotime($rowdt[0]));
$enddate=date('d/m/y');
$workdate=date('d/m/y', strtotime($wdate)); //here wdate is our selected date which is passed from previous page.
echo "start date=".($startdate); //showing correctly
echo "end date=".($enddate);//showing correctly
echo "work date=".($workdate);//showing correctly
$S_WORKDATE=strtotime($workdate);
$S_STARTDATE=strtotime($startdate);
$S_ENDDATE=strtotime($enddate);
теперь, когда я сравнить даты как этого
if($S_WORKDATE<$S_ENDDATE)
{
echo "worked";
}
else
{
echo "failed";
}
любого сравнение, как «<» или '>' или '< =' или '> =' возвращает неправильный результат после выполнения кода. help help
Большое вам спасибо ... это сработало! –
Объяснение могло бы помочь. '/' __does__ работает с strtotime(), но когда strtotime() встречает '/' в дате формата 2: 2: 4, он рассматривает формат как формат США ('m/d/Y'); когда он встречает '-' в дате формата 2: 2: 4, он рассматривает формат как европейскую дату (dmY) .... как объяснено в [документации PHP] (http://php.net/manual/en/ datetime.formats.date.php) –
@DewDrop Или вы могли бы просто переключить m и d вокруг. Он работает со слэшами, они просто используют нотацию США для даты. м/д/г –