0

在我的数据库中,我有 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))

我如何将它与我的查询结合起来?有没有更好的方法然后遍历查询的数组?

4

1 回答 1

0

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

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

您可以使用该片段中的日期并设置一个WHERE due_date > $today我不太确定如何使用您的数据库模型执行此操作。

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

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

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

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

于 2013-02-20T08:24:31.500 回答