查询以获取UNIX时间戳为今天的行

时间:2013-02-20 08:17:17

标签: php sql date unix-timestamp

在我的数据库中,我将UNIX时间戳作为需要运行的作业的截止日期。在某一天或某一小时,我想知道哪些工作需要运行。我有以下代码来查询我的作业表:

$job = Model_Job::find('first',
 array(
  'where' => array(
   array('status_id', 1), // active
   array('due_date', today)
)))

最后一个数组当然只是伪代码。我想出了以下代码,以确定时间戳是否为今天。

date('Ymd', strtotime(Date::forge(time())->get_timestamp())) == date('Ymd', strtotime($job->due_date))

我如何将其与我的查询结合起来?有没有更好的方法循环查询数组?

1 个答案:

答案 0 :(得分:0)

现在,这可能不是一个好方法,但它是第一个想到的。

$ today = strtotime('今天00:00');

您可以使用该代码段中的日期并设置WHERE due_date > $today我不太确定如何使用您的数据库模型。

编辑:这取决于你在php配置中有正确的时区设置。

正如塞巴斯蒂安指出的那样,这也会得到所有未来日期,但你可以简单地使用相同的技术来获得当天的最后一个时间戳

$todaystart = strtotime('today 00:00'));
$todayend = strtotime('today 23:59:59'));

并在SQL查询中使用BETWEEN运算符