Я извлечения даты из базы данных MySQL, которая показывает вверх, как это: «2010-03-09 09:11:30»Набор дано время 00:00:00 в PHP/MySQL
Как Я меняю дату на «2010-03-09 00:00:00»? Я использую PHP для выполнения запроса. Благодаря!
Я извлечения даты из базы данных MySQL, которая показывает вверх, как это: «2010-03-09 09:11:30»Набор дано время 00:00:00 в PHP/MySQL
Как Я меняю дату на «2010-03-09 00:00:00»? Я использую PHP для выполнения запроса. Благодаря!
$time = '2010-03-09 09:11:30';
$timestamp = strtotime($time);
$zeroedtimestamp = mktime(0, 0, 0, date('n', $timestamp), date('j', $timestamp), date('Y', $timestamp));
echo date('Y-m-d H:i:s', $zeroedtimestamp);
Вы уверены, что это '2010-3-9 09:11:30', а не '2010-03-09 09:11:30'? Если вы действительно получаете первый из БД, быстро исправьте схему.
Во всяком случае ...
добрейшей из-уродливое решение:
$startOfDay = (substr('2010-3-9 09:11:30', 0, -8) . '00:00:00');
Упс, извините, что это была опечатка. Я действительно устал. Как я могу сделать это для любой даты? – user305527
Если временные метки соответствуют следующему формату, это должно работать для любой даты. –
Спасибо, я обязательно сохраню это в ближайшем будущем. Я собираюсь с решением deceze прямо сейчас, потому что он работает лучше с циклом, который я делаю. – user305527
echo strtok(" ",$date).'00:00:00';
Почему бы не узнать строки операции немного? Я базовый опыт PHP, поскольку это препроцессор текста HTML. Большинство операций PHP - это синтаксический анализ строк. Это действительно стоит изучить некоторые строковые функции
Просто протестировал его, и он работает! Спасибо огромное! – user305527
Обратите внимание, что решение Coronatus является более коротким и быстрым и должно работать нормально, если все даты находятся в одном формате. Вышеприведенный код «делает это правильно». :) – deceze
@deceze - Я бы «сделал это правильно», но я никогда не помню порядок параметров mktime(). : D –