如何用PHP为MySQL DATETIME类型生成日期


How to generate date for MySQL DATETIME type with PHP?

我需要获取最近24小时内插入的记录。我已经读过了,我需要在MySQL日期列中使用DATETIME类型
但我的问题是我不知道如何用PHP为MySQL DATETIME类型生成日期
我该怎么做?提前谢谢。

简单

$mysql_date_now = date("Y-m-d H:i:s");

因为mysql中的DATETIMEYYYY-MM-DD HH:ii:ss

如果您只是在寻找一种生成日期时间的方法来插入日期时间字段,只需使用以下代码

$datetime = date('Y-m-d H:i:s') ;

或用于直接sql

INSERT INTO {TABLE} ({DATETIME}) VALUES (NOW())

这将创建一个看起来像的日期

2012-02-28 16:44:25

如果您正在寻找查询以获得最后24小时,请使用

SELECT * FROM tablename WHERE date_field > NOW() - interval 1 day

有两种方法:

  1. 使用文本表示-类似于:

    <?php
        $year=2012; $month=2; $day=27;
        $hour=22; $minute=44; $second=58;
        $sql="SELECT something FROM something WHERE datecolumn>='$year-$month-$day $hour:$minute:$second'";
    ?>
    
  2. 直接在SQL 中执行此操作

    SELECT something FROM something WHERE datecolumn >= DATE_SUB(NOW(), INTERVAL 1 DAY);
    

我会更改MySQL数据库来完成一半的工作,除非你不喜欢在服务器上的时间。姓名:dateSomething类型:TIMESTAMP默认值:CURRENT_TIMESTAMP

然后SQL代码

INSERT INTO {TABLE} ({dateSomething}) VALUES (DEFAULT)