2015-04-12 78 views
0

我正试图从数据库中找到应该在30天后的日期。一个月的差距计算

我想从数据库中检索出格式为DateTime的日期。将其更改为时间戳strtotime()。将其提供给date()并检索mi,然后进行本地计算以确定它是否不到三十天。

我想知道是否有任何简单易行的程序来做到这一点。

+0

DB是什么? MySQL的? –

+0

@YasenZhelev是的。 –

+0

PHP中的所有内容都有很好的记录。只要看一下'strtotime()'文档中的例子,你会在几秒钟内找到答案:http://php.net/manual/en/function.strtotime.php#refsect1-function.strtotime-examples – Marc

回答

0
date('Y-m-d H:i:s', strtotime(' +30 day')); 

这也将工作

date('Y-m-d H:i:s', strtotime(' +1 month')); 

或使用任何你需要的格式,但这种方法计算一个日期加30天

PHP strtotime

相关答案:

  1. PHP: get next 13 dates from date?
  2. get next and previous day with php
+0

@azamkhan,可能你将不得不隐瞒日期转换为日期时间格式以便在数据库中使用(这取决于您在数据库中使用的日期格式),本示例使用Ymd格式,可以使用此格式,甚至可以使用http://php.net/manual/en/function.date- parse.php –

0

试试这个:

$date_formatted = date('Y-m-d H:i:s', strtotime($val->time)); 

要检索mi或两者兼而有之,试试这个:

$v = date('Y-m-d H:i:s'); //test it with now. 
$date_formatted = date('m i', strtotime($v)); 

内容查找日期从数据库中恰好30天从现在开始你可以试试这个:

$date_formatted = date('Y-m-d H:i:s', strtotime(' +30 day')); 
0

如果你想直接在SQL中做到这一点,你可以做到这一点。

WHERE DATE_ADD(NOW(), INTERVAL 1 MONTH) = your_date_column_here 

这样,您可以直接获取仅提前1个月查询的日期。

或者,如果你想获得那就是提前一个月从今天用PHP使用这种

strtotime('+ 1 month'); 

使用“+1 mohth”而不是“30天”日期的UNIX时间戳总会给你提前一个月,而不仅仅是提前30天。