как сделать поиск, используя дату и время - PullRequest
0 голосов
/ 03 апреля 2019

Я работаю с проектом Codeigniter3, где я сохранил данные как целое число, используя следующий формат

strtotime(date('Y-m-d H:i'))

Теперь я хочу получить данные из моей базы данных на основе сегодняшней даты, которая не работает.

Я использовал следующий код для извлечения сегодняшней записи

select * from user where created=strtotime(date('Y-m-d'))

Пожалуйста, помогите мне решить эту проблему

Ответы [ 2 ]

2 голосов
/ 03 апреля 2019

Прямо сейчас вы сохраняете метку времени Unix - секунды с 1970 года - так что она будет совпадать ровно на 1 секунду в день, после которого вы.

В идеале вы должны хранить дату в формате, который (мой) sql распознает как формат даты, чтобы вы могли легко запрашивать базу данных.

С имеющейся у вас отметкой времени unix вам необходимо преобразовать ее в формат DateTime и получить дата часть этого.

В MySQL:

select * from user where DATE(FROM_UNIXTIME(created)) = DATE(FROM_UNIXTIME(:your_timestamp))
1 голос
/ 03 апреля 2019

Попробуйте это-
$this->db->query("SELECT * FROM user WHERE created BETWEEN ".strtotime(date('Y-m-d').'00:00')." AND ".strtotime(date('Y-m-d').'23:59'));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...