我需要比较$ startdate和$ fin_date.But问题是,当我使用strtotime时,它会显示任何值。在对stardate进行strtotime时,它返回结果为1420502400。
$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]));
$date11 = DateTime::createFromFormat("d/m/y", $startdate2);
$enddate=$date11->modify("- $row_count days")->format('d/m/y');
$fin_date=strtotime($enddate);
例如,如果$ enddate = 30/05/15后strtotime($ enddate)=(无结果)。请帮助。
答案 0 :(得分:0)
您可以尝试使用此代码:
$date1=date('d/m/y');
$date2='1/06/15';
if(strtotime($date1)<strtotime($date2))
echo '1 is small='.strtotime($date1).','.$date1;
else
echo '2 is small='.strtotime($date2).','.$date2;
如果这不起作用,你也可以使用 diff 函数(datetime类):
$date1=date('d/m/y');
$date2='01/06/15';
$datetime1 = new DateTime($date1);
$datetime2 = new DateTime($date2);
$interval = $datetime1->diff($datetime2);
$dateDiff = $interval->format('%R%a');
if($dateDiff == 0)
{
echo "$date1 is equal to the $date2";
}
else
{
echo ($dateDiff > 0)? "$date2 is greater than the $date1": "$date1 is greater than the $date2";
}
答案 1 :(得分:0)
dd / mm / yyyy日期格式不适用于strtotime函数。请使用mm / dd / yyyy或者dd-mm-yyyy格式
&#34; m / d / y或dmy格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠(/),则假定为美国m / d / y ;而如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。&#34;
您可以通过替换
来使用$startdate = str_replace('/', '-', $startdate );