Проблемы с датой!!

Orlando

Guest
Проблемы с датой!!

В БД дата со временем хранится в timestamp(14).
При выборке из БД нужно вывести на страницу в таком формате:
[часы:секунды число.месяц.год]

Можно сделать такое преобразование какой-нибудь специальной функцией, типа date() или надо пользоваться строковыми функциями для разбора даты??
 

kvf77

Red Devil
Orlando

пользуйся date() - и разберись за одно, что такое timestamp, чтобы понять, что строковыми функциями ты ничего не достигнешь
 

Фанат

oncle terrible
Команда форума
kvf77, я думаю, с этим вопросом надо разобраться именно тебе =)
 

Orlando

Guest
Автор оригинала: Z.O.S.
date("H:I d.m.Y",strtotime($DateFromBD));
я делаю так!
Прокатило, только не для timestamp, а для datetime!

Но всё же: как лучше делать, может эффективнее это будет делаться в MySQL-запросе??
Просто приходиться ОЧЕНЬ часто применять такое преобразование и интересует разница в скорости, производительности методов??
 

Фанат

oncle terrible
Команда форума
да, в MySQL-запросе это будет делаться эффективнее

Хотя разница врядли будет различима.
 

ForJest

- свежая кровь
Я обычно использую DATE_FORMAT, если мне нужно получить табличные данные и я пишу новый SQL запрос. Потом я зачастую я делаю это в самом скрипте, особенно если над строками производятся дополнительные действия какие-то во время получения данных.
Но вообще правильнее да - делать в запросе - т.е. получить от СУБД именно те данные, которые тебе нужны.
 

Фанат

oncle terrible
Команда форума
а ты точно уверен в том, что тебе нужно поле типа таймстамп?
 

Orlando

Guest
Автор оригинала: Фанат
а ты точно уверен в том, что тебе нужно поле типа таймстамп?
Нет я уже поменял на datetime!!

Автор оригинала: ForJest
Я обычно использую DATE_FORMAT, если мне нужно получить табличные данные и я пишу новый SQL запрос.
Ну да теперь тоже так делаю:

1) первый запрос выборки данных.
2) $query_1="SELECT DATE_FORMAT('".$row["lastview"]."', '%H:%i %d.%m.%Y')";

и получаю дату в нужном формате!!
 

Фанат

oncle terrible
Команда форума
гм.
вообще-то, так будет раз в 20 медленнее, чем со strtotime...
 

Orlando

Guest
А в один запрос можно загнать??

-~{}~ 29.09.05 17:43:

Можно пример??
 

Фанат

oncle terrible
Команда форума
просто добавь дате формат в свой запрос. как любое другое поле.
 

Orlando

Guest
Автор оригинала: Фанат
просто добавь дате формат в свой запрос. как любое другое поле.
Не понял!!

вот мой первый запрос:
select * from company_users where company_id=1;

в поле lastview - содержиться дата

и как в том же запросе передать это поле в DATE_FORMAT(lastview, '%H:%i %d.%m.%Y')
 

Фанат

oncle terrible
Команда форума
Ринат, ты гонишь.

Orlando, поставить после звёздочки запятую и после этого написать дате формат
 

Orlando

Guest
Точно заработало, но раньше такое пробовал - были проблемы!! Чего то не так писал!!
 

Ринат

Новичок
Фанат
прогнал наверное
удли тогда оба ответа
может не втыкнул что надо именно...на работе..и форум почитать хочетеся одновременно

из данного
вот мой первый запрос:

$query_1="SELECT DATE_FORMAT('".$row["lastview"]."', '%H:%i %d.%m.%Y')";
подумал, что таблицы разные
буду внимательнее, sorry
 
Сверху