我有一段时间试图找到两个日期之间的差异。我从数据库中获取日期并尝试将其与当前日期和时间进行比较。PHP date_diff DateInterval无法转换
我需要的是两个日期之间的小时数。如果我将date_diff格式设置为“%h%”,我只能获得两小时之间的减去小时数,而不是像三天前的下午2:00到今天下午3:00之间的总时间。有了“%h”,这只会给我1小时的结果。
与下面的代码,我收到错误尝试回声$ SinceLastUpdate当“类DateInterval的对象无法被转换成字符串”。我已经尝试过各种格式的日期,并且我正在对此进行修改。
这里是我当前的代码:
//Database stuff
$SqLiteSqlStr = "SELECT Max(END_TIME) AS LAST_UPDATE FROM DATA_LOAD_LOG";
PDO_Connect("sqlite:$SqLiteDB");
$results = PDO_FetchAll($SqLiteSqlStr);
foreach ($results as $row) { $DataUpdated = $row["LAST_UPDATE"];}
//Make some kind of attempt to find out how old the data is
$TodaysDate = new DateTime("now");
$SinceLastUpdate = date_diff(new DateTime($DataUpdated), $TodaysDate);
echo "<br>TodaysDate " . date_format($TodaysDate,"Y-m-d H:i:s");
echo "<br>DataUpdated " . $DataUpdated;
echo "<br>SinceLastUpdate " . $SinceLastUpdate;
现在,我不在乎,如果不同的是在几秒钟,几分钟或几小时,我只是需要某种形式的准确的数字我可以工作。 我想要做的是检查数据的年龄。如果它超过三天(72小时),那么我需要运行我的过程来更新数据。
任何帮助将不胜感激。
【二日期时间之间PHP来找茬]的可能的复制(https://stackoverflow.com/questions/15688775/php-find-difference-between-two-datetimes) – zod