【问题标题】:One month gap calculation一个月的差距计算
【发布时间】:2015-06-17 19:12:59
【问题描述】:

我正在尝试从数据库中查找日期,该日期应该是距现在正好 30 天。

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

我想知道是否有任何直接且简单的程序可以做到这一点。

【问题讨论】:

标签: php mysql date datetime


【解决方案1】:

试试这个:

$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'));

【讨论】:

    【解决方案2】:
    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

    【讨论】:

    • @azamkhan,可能您必须将日期转换为日期时间格式以在 DB 中使用(这取决于您在 DB 中使用的日期格式),此示例使用 Ymd 格式,您可以更改此或甚至使用php.net/manual/en/function.date-parse.php
    【解决方案3】:

    如果您想直接在 SQL 中执行此操作,您可以执行此操作。

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

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

    或者,如果您想使用 PHP 获取从今天起提前一个月的日期的 UNIX 时间戳,请使用此

    strtotime('+ 1 month');
    

    使用“+1 mohth”而不是“+30 天”总是会提前一个月,而不仅仅是提前 30 天。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-13
      • 2011-10-14
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      • 2015-03-08
      • 2014-08-10
      • 2013-06-10
      相关资源
      最近更新 更多