2015-01-17 3 views
0

Я хочу получить значение UNIX time() заказа, размещенного из корзины магазина.Как вернуть значение времени() в запросе запроса SQL-запроса

Как получить время Unix с момента заказа?

Я использовал следующие запросы, однако оба они возвращают неверную информацию.

1) возвращает сообщение time() в отчете, а не фактическое цифровое значение.

DATE_FORMAT(T5.date_purchased, 'time()') As ref, 
returns: time() 

2) Когда я использую следующий вариант, я получаю текущее время, а не время покупки.

DATE_FORMAT(T5.date_purchased, UNIX_TIMESTAMP()) As ref, 
returns: 1421451235  17/01/2015 11:03 

Примечание:
Я проверил на следующее:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Update
Мой запрос основан на следующем:

Select 

DATE_FORMAT(T5.date_purchased, '%Y-%m-%d') As ODate, (works) 
(new line for Unix timestamp) eg: DATE_FORMAT(T5.date_purchased, UNIX_TIMESTAMP()) As ref, 

From /*PREFIX*/products T1 
Inner Join /*PREFIX*/orders T5 On (T5.orders_id = T2.orders_id) 

'ref' было отправлено на страницу обработки платежей из моей корзины, поэтому ее нужно каким-то образом получить SQL. zen_draw_hidden_field('ref', time()) .

+1

'DATE_FORMAT' принимает значение даты в качестве первого, и формата в качестве второго параметра. Поэтому, если 'T5.date_purchased' содержит временную метку Unix, вы не можете напрямую ее подавать на' DATE_FORMAT', вам придется сначала преобразовать ее в значение _date_. Однако существует функция 'FROM_UNIXTIME', которая принимает временную метку Unix непосредственно как первый параметр (и формат как второй). – CBroe

+0

@CBroe спасибо, но как бы я написал это в запросе? Я обновляю свой вопрос с помощью моего основного запроса SELECT для информации о времени и дате – MrsAdmin

+0

Это очень бесполезно, учитывая, что я посмотрел на функции даты и времени, и функция, которая, как мне кажется, является наиболее полезной, возвращает результат слова ' время() '. Тот, который работает, дает мне текущее значение времени. Это я объяснил выше. – MrsAdmin

ответ

1

Создание ответа от моего комментария, как спросил:

Решение заключается в использовании UNIX_TIMESTAMP(), которая возвращает метку времени из значения даты/времени. Таким образом, UNIX_TIMESTAMP(T5.date_purchased) должен вернуть дату покупки. Чтобы вычесть часы использовать UNIX_TIMESTAMP(T5.date_purchased - interval 7 hour)

Для дальнейших примеров и использования см doc

Смежные вопросы