date_create_from_format 创建日期被视为布尔值
date_create_from_format created Date seen as boolean
我想从我的数据库中读出一些时间并删除字段(如时间所见)比现在旧的所有条目。
这是我当前的代码:
//$eSonderPreis->R_GLTBISDATUM = 30.12.1899
$bisDatum = date_create_from_format('Y-m-d H:i:s', $eSonderPreis->R_GLTBISDATUM);
//var_dump returns: [...] string(19) "1899-12-30 00:00:00" [...]
var_dump(date_timestamp_get($bisDatum));
//var_dump returns: boolean false
echo " - ";
var_dump($thetime);
//var_dump returns: current time as int
if(date_timestamp_get($bisDatum) < $thetime)
{
unset($aData[$key]);
}
date_timestamp_get returns false,这意味着它失败了(根据文档)。为什么会这样?
如果日期早于 Unix 纪元时间 (01/01/1970),date_timestamp_get()
将 return 为假。
您可以使用 format("U") 代替获取时间:
echo $bisDatum->format("U");
这里有一些相关信息:http://php.net/manual/en/datetime.gettimestamp.php
专门针对您的代码:
if($bisDatum->format("U") < $thetime)
{
unset($aData[$key]);
}
我想从我的数据库中读出一些时间并删除字段(如时间所见)比现在旧的所有条目。
这是我当前的代码:
//$eSonderPreis->R_GLTBISDATUM = 30.12.1899
$bisDatum = date_create_from_format('Y-m-d H:i:s', $eSonderPreis->R_GLTBISDATUM);
//var_dump returns: [...] string(19) "1899-12-30 00:00:00" [...]
var_dump(date_timestamp_get($bisDatum));
//var_dump returns: boolean false
echo " - ";
var_dump($thetime);
//var_dump returns: current time as int
if(date_timestamp_get($bisDatum) < $thetime)
{
unset($aData[$key]);
}
date_timestamp_get returns false,这意味着它失败了(根据文档)。为什么会这样?
如果日期早于 Unix 纪元时间 (01/01/1970),date_timestamp_get()
将 return 为假。
您可以使用 format("U") 代替获取时间:
echo $bisDatum->format("U");
这里有一些相关信息:http://php.net/manual/en/datetime.gettimestamp.php
专门针对您的代码:
if($bisDatum->format("U") < $thetime)
{
unset($aData[$key]);
}