首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过使用strtotime转换日期来比较日期

通过使用strtotime转换日期来比较日期
EN

Stack Overflow用户
提问于 2015-06-01 16:53:56
回答 2查看 42关注 0票数 0

我需要比较$startdate和$fin_date.But,问题是当我使用strtotime时,它没有显示任何值。在$stardate上执行strtotime时,它返回的结果为1420502400。

代码语言:javascript
复制
$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/15After strtotime($enddate)= (无结果).please帮助。

EN

回答 2

Stack Overflow用户

发布于 2015-06-01 17:03:34

您可以尝试使用以下代码:

代码语言:javascript
复制
$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;

如果这不起作用,你也可以使用datetime类的datetime diff函数:

代码语言:javascript
复制
$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";
}
票数 0
EN

Stack Overflow用户

发布于 2015-06-01 17:05:25

dd/mm/yyyy日期格式不适用于strtotime函数。请使用mm/dd/yyyy或dd-mm-yyyy格式

通过查看各个组件之间的分隔符,可以消除m/d/y或d-m-y格式中的日期的歧义:如果分隔符是斜杠(/),则假定为美国的m/d/y;而如果分隔符是短划线(-)或点(.),则假定为欧洲的d-m-y格式。

您可以通过替换

代码语言:javascript
复制
$startdate = str_replace('/', '-', $startdate );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30569347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档