我正试图从数据库中找到应该在30天后的日期。一个月的差距计算
我想从数据库中检索出格式为DateTime
的日期。将其更改为时间戳strtotime()
。将其提供给date()
并检索m
和i
,然后进行本地计算以确定它是否不到三十天。
我想知道是否有任何简单易行的程序来做到这一点。
我正试图从数据库中找到应该在30天后的日期。一个月的差距计算
我想从数据库中检索出格式为DateTime
的日期。将其更改为时间戳strtotime()
。将其提供给date()
并检索m
和i
,然后进行本地计算以确定它是否不到三十天。
我想知道是否有任何简单易行的程序来做到这一点。
date('Y-m-d H:i:s', strtotime(' +30 day'));
这也将工作
date('Y-m-d H:i:s', strtotime(' +1 month'));
或使用任何你需要的格式,但这种方法计算一个日期加30天
相关答案:
@azamkhan,可能你将不得不隐瞒日期转换为日期时间格式以便在数据库中使用(这取决于您在数据库中使用的日期格式),本示例使用Ymd格式,可以使用此格式,甚至可以使用http://php.net/manual/en/function.date- parse.php –
试试这个:
$date_formatted = date('Y-m-d H:i:s', strtotime($val->time));
要检索m
或i
或两者兼而有之,试试这个:
$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'));
如果你想直接在SQL中做到这一点,你可以做到这一点。
WHERE DATE_ADD(NOW(), INTERVAL 1 MONTH) = your_date_column_here
这样,您可以直接获取仅提前1个月查询的日期。
或者,如果你想获得那就是提前一个月从今天用PHP使用这种
strtotime('+ 1 month');
使用“+1 mohth”而不是“30天”日期的UNIX时间戳总会给你提前一个月,而不仅仅是提前30天。
DB是什么? MySQL的? –
@YasenZhelev是的。 –
PHP中的所有内容都有很好的记录。只要看一下'strtotime()'文档中的例子,你会在几秒钟内找到答案:http://php.net/manual/en/function.strtotime.php#refsect1-function.strtotime-examples – Marc