今天不是24小时?

时间:2011-03-29 13:46:22

标签: php date

我的PHP代码我做的时间() - 86400从过去的24小时内获取所有内容,但我如何能够获得今天的所有内容或昨天的所有内容。因此不再是86400秒,应该是午夜12点到现在。

希望这有道理..但我怎么能这样做?

5 个答案:

答案 0 :(得分:2)

如果您从数据库中“抓取”,为什么不在查询中执行此操作?

SELECT * FROM `table` WHERE DATE(`created_at`) = '2011-03-28';

如果您将日期存储为unix时间戳:

SELECT * FROM `table` WHERE DATE(FROM_UNIXTIME(`created_at`)) = '2011-03-28';

答案 1 :(得分:1)

time()-strtotime('today') - 从现在到午夜之间的差异; time()-strtotime('yesterday') - 现在和昨天午夜之间的差异; time()-strtotime('-2 days') ...

仅限昨天(范围$ min到$ max)

$start = strtotime('yesterday')
$end = strtotime('today') - 1;

答案 2 :(得分:0)

以下内容将为您提供自1970年1月1日以来经过的秒数。时间戳高于此值的每个对象均来自当前日期(假设您已正确设置时区和当地时间)。

$time = strtotime(date('Y-m-d 00:00:00'));

答案 3 :(得分:0)

您可以使用PHP datestrtotime功能从现在开始选择一天并检索特定日期的秒数。有关详细信息,请参阅:http://php.net/manual/en/function.date.phphttp://php.net/manual/en/function.strtotime.php

答案 4 :(得分:0)

我同意戈登的观点 - 有很多日期/时间的例子。但是,嘿,让我们再说一遍 - 假设今天从午夜开始,你使用:

$ start = strtotime('today');

假设“今天”在23:59结束,简单的算术意味着如果你将$ start增加24小时并带走1秒 - 你将会到达今天结束。

所以:

$start = strtotime('today');
$end = $start + (3600 * 24) - 1;