我处境很奇怪。我有xml feed和我通过使用for循环一次读取一个xml值在数据库中存储xml feed数据。 xml中的日期值如下所示。
<date>Friday, 02 Sep 2016 00:00:00</date>
我在下面写了比较日期的代码。
$todays = date("Y-m-d");
$newdates = strtotime ( '-4 day' , strtotime ($todays) ) ;
echo $today = date ( 'Y-m-d' , $newdates );
some code for xml feed
$dates = $item[$i]->date;
echo $newDate = date("Y-m-d", strtotime($dates));
if($today != $newDate ) {
break;
}
else{
Store in database
}
这是输出。 2016年9月1日 2016-09-02
我可以在xml中看到9月1日有很多数据。但是,如果我将if与if条件进行比较,则数据不会返回。 有人建议我做错了什么?
答案 0 :(得分:2)
在您的代码中看到这个?
$ dates = $ item [$ i] - &gt; date;
你可以爆炸变量$ date来摆脱“星期五”,只关注日期“02 Sep 2016 00:00:00”。
$dates = $item[$i]->date;
$dates = explode(",", $dates);
并替换
echo $ newDate = date(“Y-m-d”,strtotime($ dates));
用,
echo $newDate = date("Y-m-d", strtotime($dates[1]));
这应该是好的。 如果它适用于您,请告诉我们。
答案 1 :(得分:2)
将原始代码修改为以下内容:
$todays = date("Y-m-d");
$newdates = strtotime ( '-4 day' , strtotime ($todays) ) ;
echo $today = date ( 'Y-m-d' , $newdates );
// some code for xml feed
$dates = $item[$i]->date;
$dates = explode(",", $dates);
echo $newDate = date("Y-m-d", strtotime($dates[1]));
if($today != $newDate ) {
break;
}
else{
Store in database
}
答案 2 :(得分:1)
您需要将SimpleXMLElement强制转换为字符串才能获得该值
import { compose } from "@ngrx/core/compose";
import { StoreModule } from "@ngrx/store";
@NgModule({
...
imports: [
...
StoreModule.provideStore(compose(...))
],
...
我编写了一段更简单的代码,它应该与您的代码尝试做同样的事情。
$dates = (string) $item[$i]->date;