Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Манипуляции с датами |
Автор: nicka 2.2.2004, 14:15 | ||
Допустим, у меня таблица с полем(time_enter) типа ДатаВремя, и я хочу выбрать записи, которые были введены не более часа назад. Я себе представляю это так(для начала просто хочу увидеть результат):
где $today = date("Y-m-d H:i:s"); (это кусочек кода на php), а time_enter - это поле в таблице, в котором храниться дата ввода записи То есть должно выдать сколько секунд прошло с момента ввода записи. Если взять конкретные цифры: time_enter='02/02/2004 14:55:44', $today = '2004-02-02 15:05:07', то в результате запроса я получаю следующую цифру: -20040202143540, которая мне лично ничего не напоминает. Короче говоря, по-моему вопрос понятен, жду советов! |
Автор: nicka 2.2.2004, 14:18 | ||
забыла кавычку поставить, чтоб не начали мне искать ошибки в коде |
Автор: [xoodo] 2.2.2004, 19:07 |
Вроде так: SELECT * FROM table WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(time_enter)) <= 3600 3600 == 60 секунд * 60 минут. И без всяких $today'ов. Все проверки и преобразования в запросе. И если даты хранить для последующих с ними операций, то я бы держал в базе не DATETIME, а TIMESTAMP(14). Сравни: '02/02/2004 14:55:44' и 20040202145544. |
Автор: nicka 11.2.2004, 11:32 |
Да подходит, спасибо [xoodo] |
Автор: Mor 11.2.2004, 11:42 |
А вот как отворматировать дату с 2004-02-11 11:21:43 на 11-02-2004 11:21:43 |
Автор: Master 11.2.2004, 11:53 |
Mor а зачем тебе понадобился еврейский вариант даты? вообче есть функция http://www.php.net/explode - она поможет. |
Автор: Mor 11.2.2004, 12:07 |
explode -слишком мутно. каким нибудь mktime, возможно? |
Автор: MuToGeN 11.2.2004, 19:01 | ||
ЗЫ всего и сразу не бывает |
Автор: IZ@TOP 12.2.2004, 00:57 |
MuToGeN, ты прав. пользуйтесь функцией time() совместно с функцией date()! |
Автор: Mor 12.2.2004, 07:38 |
Всё окозалось проще: SELECT DATE_FORMAT(send_date, '%d-%m-%Y %h:%i:%s') AS... Я же из мускула её тащу ![]() |
Автор: Dagger 15.2.2004, 15:25 |
Mor, как вариант SELECT UNIX_TIMESTAMP(date) FROM blablabla.. $udate = ("m j Y h:m:s",$row[0]); |