0

我还没有在网上找到解决方案,因为我认为这是我使用日期格式的方式。

问题:我有一个日期格式:2013-06-07 此格式由以下内容创建:

$thedate = (string) substr($item->children('http://www.w3.org/2005/Atom')->updated,0,-15) . ' - ';- 取自 RSS 提要,并经过修剪,因此仅表示年、月和日。

然后我使用它来获得相同的结果,每个都是今天的日期:

$day = (string) date('Y-m-d');

因此,当我执行 IF 语句时,在它进入数据库之前,日期应该匹配:

if($day == $thedate) {

echo ($day . '\n' . $thedate);

$sql = "INSERT INTO rssFeed (date, stage, title, description, location, billtype, link) VALUES('". 
$thedate ."','". $stage . "','" . $title . "', '" . $desc ."', '" . $location ."', '" . $billtype ."', '". $linkurl ."')";

//print_r($sql);

$inres = $mysqli->query($sql);
print_r($mysqli->error);

} else {
echo ('They do not match'); 
}'

没有 IF 语句它可以正常工作,并且我打印了两个日期并且它们是相同的,但是,无论出于何种原因,该语句在控制台中出现,不一样,只有“它们不匹配”,或者放入数据库。没有错误。

有任何想法吗 ?

4

1 回答 1

1

尝试这个:

$day = date("Y-m-d"); //get rid of the (string) cast
$thedate = date("Y-m-d", strtotime($thedate));

if($day == $thedate) {
    ... // your stuff
} else {
    echo ('They do not match.');
}

字符串的编码/存储方式可能存在一些细微差别。由于您的 $day 变量是使用 date() 函数创建的,因此您更有可能通过对 $thedate 执行相同操作来正确匹配它们。

于 2013-06-07T15:27:33.593 回答