duan3019 2013-02-20 08:17 采纳率: 100%
浏览 42
已采纳

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

In my DB I have UNIX Timestamps as due dates for jobs that need to run. On a given day or a given hour I'd like to know which jobs need to run. I have the following code to query my jobs table:

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

The last array is just pseudo code of course. I came up with the following code to figure out if a timestamp is today.

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

How would I combine that with my query? Is there a better way then looping through the queried array?

  • 写回答

1条回答 默认 最新

  • doujingya1166 2013-02-20 08:24
    关注

    Now, this is probably not a good way but it was the first that came to mind.

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

    You can use the date from that snippet and set a WHERE due_date > $today I'm not quite sure how to do that with your database model.

    edit: This relies on that you have correct timezone settings in your php configuration.

    As sebastian pointed out, this will get all future dates also, but you could simply use the same technique to get the last timestamp of the day

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

    and the use a BETWEEN operator in your SQL-query

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了