如何处理SQL和PHP的日期和时间?

时间:2010-11-09 08:42:22

标签: php sql datetime

Table - user_feed  
column name - date_n_time (type - datetime)

如何编写PHP代码以检查表中date_n_time的特定行的user_feed是否在5天之内(例如)? 在PHP和SQL中处理日期和时间的永久性修复是什么?

7 个答案:

答案 0 :(得分:2)

它可以直接用SQL编写,看起来像这样(例如):
SELECT INTERVAL 5 DAY + column;

永久修复将阅读文档:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
http://de2.php.net/manual/en/ref.datetime.php

答案 1 :(得分:1)

在PHP中使用date对象。凭借其时间戳,您可以随意自定义它。这很简单。

从手册:

// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

答案 2 :(得分:1)

如果值是linux时间戳,则可以将其与time()进行比较:

if( date_n_time <= ( time() - 5*24*60*60 ) ){    //days hours mins secs
...
}

答案 3 :(得分:1)

此SQL代码也适用于PHP,以便检查您的情况:

select * from user_feed where date_n_time  > GETDATE () -5

答案 4 :(得分:1)

假设你要在脚本方面进行比较:

abs(strtotime(date_n_time) / (24*3600)) < 5

请注意,此行过去和将来都是,因为您将其称为“从现在开始的5天”。

对于数据库端解决方案,您需要检查供应商的文档。

答案 5 :(得分:1)

$date = date("Y-m-d");// current date

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");

答案 6 :(得分:1)

我最喜欢用MySQL处理PHP日期和时间的方法是在MySQL中使用datetime数据类型然后使用MySQL日期函数。您可以使用日期函数将日期转换为unix时间戳,然后根据需要在PHP中进行修改。