В БД mysql дата записана в формате UNIX TIMESTAMP, как в php сделать перевод в таблице с новостями в формат **.**.**? Фрагмент: $query = "SELECT id, idate, title, announce FROM news ORDER BY id DESC LIMIT $from,$notesOnPage "; ... while ($row = mysqli_fetch_array($result)) { echo $row['idate'] .' '; Заранее благодарен
в формат хрен_его_знает ? PHP: mysql> SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00'); +---------------------------------------+ | UNIX_TIMESTAMP('2005-03-27 03:00:00') | +---------------------------------------+ | 1111885200 | +---------------------------------------+ mysql> SELECT UNIX_TIMESTAMP('2005-03-27 02:00:00'); +---------------------------------------+ | UNIX_TIMESTAMP('2005-03-27 02:00:00') | +---------------------------------------+ | 1111885200 | +---------------------------------------+ mysql> SELECT FROM_UNIXTIME(1111885200); +---------------------------+ | FROM_UNIXTIME(1111885200) | +---------------------------+ | 2005-03-27 03:00:00 | +---------------------------+
В MySQL есть тип TIMESTAMP и он выглядит не так ))) целое число секунд превращается в строку функцией date. например так: PHP: echo date('d.m.y', $row['idate']); на результат влияет часовой пояс.
@artoodetoo, зачем если можно сразу нужное взять из БД? SELECT DATE(FROM_UNIXTIME(1329163200)) $query = "SELECT id, DATE(FROM_UNIXTIME(idate)), title, announce FROM news ORDER BY id DESC LIMIT $from,$notesOnPage ";
@Valick Я не знаю как эти данные используются в скриптах ТСа. Наверное есть причина зачем они в timestamp. Изменит их на входе и всё по пизде пойдёт. Поэтому я предлагаю форматировать их на выводе на страницу, а не на приеме из запроса. --- Добавлено --- Моё личное предпочтение: по возможности держать данные в "натуральном" виде. В строку надо превращать на выводе. Где-то один формат нужен, а где-то другой. Наприме Laravel умеет кастить поля таблиц в DateTime. А в шаблоне мы его превращаем в строку по нужному формату. Надеюсь ты меня правильно прочитаешь на этот раз