Как сгенерировать дату для типа MySQL DATETIME с помощью PHP? - PullRequest
14 голосов
/ 29 февраля 2012

Мне нужно получить записи, которые были вставлены за последние 24 часа. Я прочитал об этом и понял, что мне нужно использовать тип DATETIME в моем столбце даты MySQL.
Но моя проблема в том, что я не знаю, как сгенерировать дату для типа MySQL DATETIME с помощью PHP?
Как я могу это сделать? Заранее спасибо.

Ответы [ 3 ]

40 голосов
/ 29 февраля 2012

Просто

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

Потому что DATETIME в mysql равно YYYY-MM-DD HH:ii:ss

12 голосов
/ 29 февраля 2012

Если вы ищете способ генерации даты и времени для вставки в поле даты и времени, просто используйте следующий код

$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 голос
/ 29 февраля 2012

Есть два пути:

  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);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...