Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一个月缺口计算_Php_Mysql_Date_Datetime - Fatal编程技术网

Php 一个月缺口计算

Php 一个月缺口计算,php,mysql,date,datetime,Php,Mysql,Date,Datetime,我正试图从数据库中找到日期,应该正好是30天以后 我想从数据库中检索日期,它是DateTime格式。使用strotime()将此更改为时间戳。将此输入到date()并检索m和i,然后进行局部计算,以确定是否少于30天 我想知道是否有任何直接和简单的程序来做到这一点 date('Y-m-d H:i:s', strtotime(' +30 day')); 这也会起作用 date('Y-m-d H:i:s', strtotime(' +1 month')); 或者使用您需要的任何格式,但此方法将计

我正试图从数据库中找到日期,应该正好是30天以后

我想从数据库中检索日期,它是
DateTime
格式。使用
strotime()
将此更改为时间戳。将此输入到
date()
并检索
m
i
,然后进行局部计算,以确定是否少于30天

我想知道是否有任何直接和简单的程序来做到这一点

date('Y-m-d H:i:s', strtotime(' +30 day'));
这也会起作用

date('Y-m-d H:i:s', strtotime(' +1 month'));
或者使用您需要的任何格式,但此方法将计算下一个日期加上30天

有关答案:

  • 试试这个:

    $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获得从今天起提前一个月的UNIX时间戳,请使用

    strtotime('+ 1 month');
    

    使用“+1个月”而不是“+30天”将始终为您提前一个月,而不仅仅是提前30天。

    这是什么DB?Mysql?PHP中的所有内容都有很好的文档记录。只要看一下
    strotime()
    文档中的示例,您就会在几秒钟内找到答案:可能是@azamkhan的重复,您可能需要将日期转换为datetime格式以便在DB中使用(这取决于您在DB中使用的日期格式),此示例使用Y-m-d格式,您可以对此进行更改,甚至可以使用