PHP在抓取日期之间的数据时遇到问题

PHP在抓取日期之间的数据时遇到问题,php,date,if-statement,Php,Date,If Statement,这是我的弱点…编写if语句来获取两个特定日期之间的数据。我不知道它是什么,但它总是让我困惑 if($date > $enddate || $date < $startdate){ if($date>$enddate | |$datestrotime($start\u date)&&strotime($date)strotime($start\u date)&strotime($date)

这是我的弱点…编写if语句来获取两个特定日期之间的数据。我不知道它是什么,但它总是让我困惑

if($date > $enddate || $date < $startdate){
if($date>$enddate | |$date<$startdate){
日期来自数据库,起始日期是2013-05-06,结束日期是2013-06-05,我正在尝试获取这两个日期之间的数据

任何帮助都会很棒,谢谢。

不应该是:

if($date < $enddate && $date > $startdate){
if($date<$enddate&$date>$startdate){
如果日期以“2013-05-06”的格式从数据库中出来,您也可以这样做,以便能够正确地进行比较:

//...get $date from the database...
$date = strtotime($date);
$startDate = strtotime("2013-05-06");
$endDate = strtotime("2013-06-05");
if($date < $enddate && $date > $startdate){
  //some code
}
/…从数据库获取$date。。。
$date=strottime($date);
$startDate=strottime(“2013-05-06”);
$endDate=strottime(“2013-06-05”);
如果($date<$enddate&&$date>$startdate){
//一些代码
}
strotime将您的日期字符串转换为UNIX时间戳,这些时间戳是数字,因此比较起来更容易。

它不应该是:

if($date < $enddate && $date > $startdate){
if($date<$enddate&$date>$startdate){
如果日期以“2013-05-06”的格式从数据库中出来,您也可以这样做,以便能够正确地进行比较:

//...get $date from the database...
$date = strtotime($date);
$startDate = strtotime("2013-05-06");
$endDate = strtotime("2013-06-05");
if($date < $enddate && $date > $startdate){
  //some code
}
/…从数据库获取$date。。。
$date=strottime($date);
$startDate=strottime(“2013-05-06”);
$endDate=strottime(“2013-06-05”);
如果($date<$enddate&&$date>$startdate){
//一些代码
}

strotime将日期字符串转换为UNIX时间戳,这些时间戳是数字,便于比较。

假设变量是日期,user1578653编写的内容是正确的

if($date < $enddate && $date > $startdate){ }
如果($date<$enddate&&$date>$startdate){


这都是假设它们是日期,如果您向我们展示了我们使用的变量类型,这将有所帮助。

假设变量是日期,那么user1578653编写的内容是正确的

if($date < $enddate && $date > $startdate){ }
如果($date<$enddate&&$date>$startdate){


这都是假设它们是日期,如果您向我们展示我们正在使用的变量类型,这将有所帮助。

if(strotime($date)>strotime($start\u date)&&strotime($date)
工作?

如果(strotime($date)>strotime($start\u date)&strotime($date)
工作?

假设
$startdate
$enddate
之前,您的逻辑是相反的。您应该检查小于结束日期而大于开始日期的日期。如果您以“编写”的方式对“逻辑”条件进行排序,这总是有帮助的。因此,“开始($startdate<$date&&$date<$enddate)(是的,您也可以使用和
&
而不是
|
)假设
$startdate
$enddate
之前,您的逻辑是颠倒的。您应该检查日期是否小于结束日期而大于开始日期。如果您对“逻辑”进行排序,这总是有帮助的您“编写”它的方式中的条件。因此“开始($startdate<$date&&$date<$enddate)(是的,您也可以使用和
&
而不是
|
)@ØHankyPankyØ-你真的不应该这样比较它们-当它们是Y-m-d格式时,它实际上会起作用-字符串顺序与日期顺序匹配。@ØHankyPankyØ在这种情况下比较日期字符串是非常好的。@HankyPankyØ-你真的不应该那样比较它们-当它们是Y-m-d格式时,它实际上会起作用但是格式-字符串顺序与日期顺序匹配。@ØHankyPankyØ在这种情况下比较日期字符串非常好。