Php как вывести только дату mysql

Изучаем MySQL: работа с датами и временем

В этой статье мы рассмотрим основы работы с датой и временем в MySQL.

Формат даты и времени

MySQL date format поддерживает несколько форматов даты и времени. Их можно определить следующим образом:

DATE — хранит значение даты в виде ГГГГ-ММ-ДД. Например, 2008-10-23.
DATETIME — хранит значение даты и времени в виде ГГГГ-MM-ДД ЧЧ:ММ:СС. Например, 2008-10-23 10:37:22. Поддерживаемый диапазон дат и времени: 1000-01-01 00:00:00 до 9999-12-31 23:59:59
TIMESTAMP — похож на DATETIME с некоторыми различиями в зависимости от версии MySQL и режима, в котором работает сервер.

Создание полей даты и времени

Таблица, содержащая типы данных DATE и DATETIME , создается так же, как и другие столбцы. Например, мы можем создать новую таблицу под названием orders, которая содержит столбцы номера заказа, заказанного товара, даты заказа и даты доставки заказа:

Столбец ORDER_DATE — это поле типа MySQL DATE TIME , в которое мы записываем дату и время, когда был сделан заказ. Для даты доставки невозможно предсказать точное время, поэтому мы записываем только дату.

Форматы даты и времени

Наиболее часто используемым разделителем для дат является тире ( — ), а для времени — двоеточие ( : ). Но мы можем использовать любой символ, или вообще не добавлять никакого символа.

Читайте также:  Как отстирать ржавчину с черного

Например, все следующие форматы являются правильными:

Функции даты и времени

MySQL содержит множество функций, которые используются для обработки даты и времени. В приведенной ниже таблице представлен список наиболее часто используемых функций:

Функция Описание
ADDDATE() Добавляет дату.
ADDTIME() Добавляет время.
CONVERT_TZ() Конвертирует из одного часового пояса в другой.
CURDATE() Возвращает текущую дату.
CURTIME() Возвращает текущее системное время.
DATE_ADD() Добавляет одну дату к другой.
MySQL DATE FORMAT () Задает указанный формат даты.
DATE() Извлекает часть даты из даты или выражения дата-время.
DATEDIFF() Вычитает одну дату из другой.
DAYNAME() Возвращает день недели.
DAYOFMONTH() Возвращает день месяца (1-31).
DAYOFWEEK() Возвращает индекс дня недели из аргумента.
DAYOFYEAR() Возвращает день года (1-366).
EXTRACT Извлекает часть даты.
FROM_DAYS() Преобразует номер дня в дату.
FROM_UNIXTIME() Задает формат даты в формате UNIX.
MySQL DATE_SUB () Вычитает одну дату из другой.
HOUR() Извлекает час.
LAST_DAY Возвращает последний день месяца для аргумента.
MAKEDATE() Создает дату из года и дня года.
MAKETIME () Возвращает значение времени.
MICROSECOND() Возвращает миллисекунды из аргумента.
MINUTE() Возвращает минуты из аргумента.
MONTH() Возвращает месяц из переданной даты.
MONTHNAME() Возвращает название месяца.
NOW() Возвращает текущую дату и время.
PERIOD_ADD() Добавляет интервал к месяцу-году.
PERIOD_DIFF() Возвращает количество месяцев между двумя периодами.
QUARTER() Возвращает четверть часа из переданной даты в качестве аргумента.
SEC_TO_TIME() Конвертирует секунды в формат ‘ЧЧ:MM:СС’.
SECOND() Возвращает секунду (0-59).
MySQL STR TO DATE () Преобразует строку в дату.
SUBTIME() Вычитает время.
SYSDATE() Возвращает время, в которое была выполнена функция.
TIME_FORMAT() Задает формат времени.
TIME_TO_SEC() Возвращает аргумент, преобразованный в секунды.
TIME() Выбирает часть времени из выражения, передаваемого в качестве аргумента.
TIMEDIFF() Вычитает время.
TIMESTAMP() С одним аргументом эта функция возвращает дату или выражение дата-время. С двумя аргументами возвращается сумма аргументов.
TIMESTAMPADD() Добавляет интервал к дате-времени.
TIMESTAMPDIFF() Вычитает интервал из даты — времени.
TO_DAYS() Возвращает аргумент даты, преобразованный в дни.
UNIX_TIMESTAMP() Извлекает дату-время в формате UNIX в формат, принимаемый MySQL.
UTC_DATE() Возвращает текущую дату по универсальному времени (UTC).
UTC_TIME() Возвращает текущее время по универсальному времени (UTC).
UTC_TIMESTAMP() Возвращает текущую дату-время по универсальному времени (UTC).
WEEK() Возвращает номер недели.
WEEKDAY() Возвращает индекс дня недели.
WEEKOFYEAR() Возвращает календарную неделю даты (1-53).
YEAR() Возвращает год.
YEARWEEK() Возвращает год и неделю.
Читайте также:  Отбелить кухонные полотенца с помощью соли

Вы можете поэкспериментировать с этими функциями MySQL date format , даже не занося никаких данных в таблицу. Например:

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

Внесение значений даты и времени в столбцы таблицы

Рассмотрим, как вносятся значения date MySQL в таблицу. Чтобы продемонстрировать это, мы продолжим использовать таблицу orders , которую создали в начале статьи.

Мы начнем с добавления новой строки заказа. Значение поля order_no будет автоматически увеличиваться на 1, так что нам остается вставить значения order_item , дату создания заказа и дату доставки. Дата заказа — это время, в которое вставляется заказ, поэтому мы можем использовать функцию NOW() , чтобы внести в строку текущую дату и время.

Дата доставки — это период времени после даты заказа, которую мы можем вернуть, используя функцию MySQL DATE ADD() , которая принимает в качестве аргументов дату начала ( в нашем случае NOW () ) и INTERVAL ( в нашем случае 14 дней ). Например:

Данный запрос создает заказ для указанного элемента с датой, временем выполнения заказа, и интервалом через две недели после этого в качестве даты доставки:

Точно так же можно заказать товар с датой доставки через два месяца:

Извлечение данных по дате и времени

В MySQL мы можем отфильтровать извлеченные данные в зависимости от даты и времени. Например, мы можем извлечь только те заказы, доставка которых запланирована на ноябрь:

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

Заключение

В этой статье мы рассмотрели форматы, используемые для определения даты и времени, и перечислили функции, используемые в для операций в MySQL с тип DATE . А также несколько примеров внесения и извлечения данных.

Источник

Как взять из БД только время или только дату?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как у DateTimePicker взять только дату?
Есть ли у этого компонента свойство которое дает возможность брать у этого компонента дату без.

Убрать время и оставить только дату
Здраствуйте, как в TextBox-е оставить только дату? Использую этот код maskedTextBox1.Text =.

Показывать не только дату окончания/начала но и время
Добрый день Подскажите пожалуйста как сделать так, чтобы в данных ячейках показывалось не только.

Решение

Парсиг Jsoup. Как спарсить не только title но и дату с ссылкой на новость ? У меня получается только title
Получается спарсить и добавить в listview только title . А мне нужно спарсить еще и дату с url .

Как вывести только четные или только нечетные строки?
Привествую ! Допустим имеется программа, которая выводит вот такой условный текст в консоль .

Как осуществить поиск файлов только скрытых или только для чтения
Ребят, помогите пожалуйста, как осуществить поиск файлов только скрытых или только для чтения с.

Как из двух файлов открывать только выбранный и перемещённый или только оставшийся?
Как в коде bat файла написать, чтобы открывался файл 03.txt или 04.txt (в зависимости от того.

Источник

Отобразить дату из MySQL в формате 17-12-2005

Гриша К.

Новичок

Отобразить дату из MySQL в формате 17-12-2005

Здравствуйте.
Подскажите пожалуйста, как дату из MySQL в формате 2005-12-17 отобразить на странице в формате 17-12-2005 (имеется в виду порядок день-месяц-год)

Вот пример кода:

Почитал про date_format:
$query=»SELECT DATE_FORMAT(date, ‘%d.%m.%Y’) FROM `catalogue` where category_id like ‘».$category_id.»%’ . «;
$result=@mysql_query($query);

Я даже здесь не смог ее вывести, а уж в цикле тем более.

На форуме искал пример, так и не нашел, в книге на шел, только тот пример который с DATE_FORMAT написал.

white phoenix

Новичок

Гриша К.

Новичок

white phoenix, спасибо за отвтет.

Ну я не понял что я могу сделать с date()

echo date(«m.d.y»); //Просто текущая дата

echo date($row[‘date’], ‘%d.%m.%Y’); — Выводит как есть в БД

Ну и то же самое echo date($row[‘date’], «m.d.y»);

Я никак не могу понять ну как же сделать из даты 2005-17-12, дату 12-12-2005

Если вы просто знаете ответ, напишите пожалуйста, наверняка это в одну или несколько строк делается.

white phoenix, по ссылке, я вот такой сриптище нашел, он переделывает формат даты, он из даты «2005-07-01», делает 14/10/2010, непойму почему так.

Вот скоратил до такого:

Выводит такую дату: 10-03-2006

Неужели, чтобы переделать дату нужна куча знаний, неужели этого могут сделать очень мало людей.
Надеюсь, на вашу помощь, пожалуйста подскажите.

Royal Flash

-=MaestrO=-

Код логичесски не верен, по крайней мере для твоего примера. Разберись, как работают 2 функции, чтобы понять рабочий вариант из примера ниже:

$old_date = «2005-07-01 12:35:01»;
$old_date = ereg_replace(‘[^0-9]’, », $old_date);
$_year = substr($old_date,0,4);
$_month = substr($old_date,4,2);
$_day = substr($old_date,6,2);
echo $_day.’-‘.$_month.’-‘.$_year;

Гриша К.

Новичок

Royal Flash, спасибо, что ответили.
Я как раз так и начал проверять.
В описанном выше коде, который я взял по ссылке, там неверно берутся числа в переменных $_month и $_day (а это руководсвто!).

Вот готовый вариант функции:

Royal Flash

-=MaestrO=-
Новичок

Всем, кто тут насоветовал — date_format

> Я даже здесь не смог ее вывести
Так и будешь бегать на форум, благодаря старательно выставленным где ни попадя собачкам?
PHP FAQ: Ничего не работает! Что делать.

Гриша К.

Новичок

Royal Flash — спасибо большое за помощь. Это вообще красивый вариант.
Вот только, знали же вы ответ, а мне наводочки давали, вот так всегда (я не упрекаю, не подумайте).
А у меня знаний в PHP на самрм деле-то совсем мало. Я например интернет-магазин делать начал когда, я php не знал, я книгу открыл на 500 странице где есть пример, а потом уже, смотрел в книге остальные разделы, по ходу изменения кода.
Так же и здесь. Я же не знаю, что есть такие функции substr и ereg_replace, а что explode есть, массивы делает тем более.
Я просто думаю, что есть спец. фунция в PHP для изменения даты.
И если бы не этот форму и еще один. Я бы несправился с тем всем, что пришлось делать.
Я программировать не хочу и не хотел, но мне пришлось, потому что когда я хотел заказать создание интернет-магазина мне назвали цену 4000$, вот и начал сам делать, ну и щас получается, чего-то надо делать, делаю сам деньги жалко платить, когда сам могу.

SiMM, спасибо за ответ.
Но эта собачка не где непопадя стоит. У меня везде такой result, я из книги очен хорошей брал. Ниже напишу.

$query=»SELECT DATE_FORMAT(date, ‘%d.%m.%Y’) FROM `catalogue` where category_id like ‘».$category_id.»%'»;
$result=@mysql_query($query);

Я не смог вытянуть значение даты отсюда.
Я чего-то запутался. Вот если бы вместо DATE_FORMAT(date, ‘%d.%m.%Y’) была бы *, я бы сдела так:
$row=@mysql_fetch_array($result)
echo $row[‘date’]; (стобец такой есть у меня)

Подскажите пожалуйста, как из описанной $query вытянуть запрошенное значение даты.

======================
А книглй я пользую такой:
Разработка Web-приложений с помощью PHP и MySQL
Люк Веллинг
Лора Томсон
— Второе издание — (Щас уже 3 вышло)

Книга супер. Это описание всех функций, примеры, удобный предметный указатель, + все примеры есть на придагаемом диске, согласитесь очень удобно.

Другой такой хорошей книги по PHP я не встричал.
И кстати, я везде замечаю, где присутствует в авторах женщина, там очень подробные описание и примеры (женщины любят все пополочкам, молодцы).

Источник

php + mysql вывод даты в другом формате

Как можно сделать вывод даты из mysql в нужном мне формате, ни для кого не секрет что дата хранится в типе date как гггг-мм-дд ,

мне нужно конвертировать в дд.мм.гггг ,

при этом не при самом SELECT ‘e, т.е. когда выборка по * и не в цикле перебирать все элементы и конвертировать дату, возможно ли так?

Может есть какая-то предустановка, как например кодировку задавать через SET NAMES ?

5 ответов 5

в MySQL нельзя изменить формат по-умолчанию YYYY-MM-DD HH:MI:SS

но вы можете сделать это с помоьюш дополнительных функций как

Учитывая, что вопрос задан по MySQL + PHP, скорее всего форматирование даты нужно именно для PHP.

Давайте разберемся. MySQL — это слой данных, т.е. модель. А форматирование данных для пользователя — это уже вопрос отображения, т.е. представление.

Отсюда значит, что вопрос подразумевает смешивание слоев модели и представления прямо в модели. И не просто в модели, а прямо средствами СУБД. А это в корне не правильный подход и принесет в будущем разработчику массу проблем. Например, завтра разработчику нужно будет сделать разное форматирование даты для разных языков интерфейса, а также произоводить с датой некие вычисления. Мне не представляется простой путь, как это сделать?

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

(new \IntlDateFormatter(‘ru_RU’, \IntlDateFormatter::SHORT, \IntlDateFormatter::NONE))->format(new \DateTime($mySqlResult[‘createdAt’])));

Источник

Оцените статью