Mysql select - Получить даты временных меток - PullRequest
2 голосов
/ 17 марта 2011

В таблице mysql хранятся значения временных отметок (например, 1265138145). Я хочу отобразить даты (например, 27/2 / 2011,10 / 3 / 2011,15 / 3/2011, 16/03/2011 и т. Д.), Которые принадлежат этим временным меткам. Это возможно? (но отображать только один раз дату, например, если есть 1265138145 и 1265138140, то отображать только один раз дату - 16/3)

Ответы [ 5 ]

2 голосов
/ 17 марта 2011

Есть несколько способов сделать это, команда FROM_UNIXTIME , вероятно, самая простая.

Например: SELECT FROM_UNIXTIME(<timestamp field>, '%d/%m/%Y');

Я не уверенто, что вы имеете в виду под «отображать только один раз дату», но использование DISTINCT в нужном столбце должно помочь.

, то есть: SELECT DISTINCT(FROM_UNIXTIME(<timestamp field>, '%d/%m/%Y')); может быть всем, что вам нужно.

1 голос
/ 17 марта 2011

В MySQL используйте ADDDATE и интервал между метками unixtimestamp и до эпохи, например,

select adddate('1970-01-01', interval 1265138145 second)

затем отображать только один раз дату

Используйте DISTINCT в своем запросе, например,

select distinct date(adddate('1970-01-01', interval 1265138145 second))
from tbl ..

Оба приведенных выше запроса возвращают столбец как значение даты и времени, к которому можно применить форматирование по умолчанию в PHP.


Примечание об использовании FROM_UNIXTIME - вы получаете локальное смещение UTC , добавленное ко времени, которое вряд ли будет тем, что вы хотите, если только данные не были заполняется с использованием UNIX_TIMESTAMP в первую очередь.

FROM_UNIXTIME : Возвращает представление аргумента unix_timestamp в качестве значения в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС» или ГГГГММДДЧЧММСС.уууууу, в зависимости от того, используется ли функция в строке или числовой контекст. Значение выражено в текущем часовом поясе

0 голосов
/ 17 марта 2011

использование FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format) http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_from-unixtime

в операторе mySQL

0 голосов
/ 17 марта 2011

Получите ваши данные и используйте функцию date().

echo date('d/m/Y', $row['date']);
0 голосов
/ 17 марта 2011
<?php
    print date("d/m/Y", $timestamp);
?>

http://us.php.net/manual/en/function.date.php

...