Как выбрать дату и время из поля даты oracle с помощью функции даты php


Как считать время с даты, сохраненной как 25.12.2012 5:12:05 утра.

date('l F j, Y, g:i a',strtotime($last_login_details[FL_DATETIME]));

Эта вышеприведенная функция вернула время как 12:00 утра, которое должно вернуть 5:12 утра.

FL_DATETIME имеет тип данных ДАТА.

В базе данных значение хранится следующим образом:

   12/25/2012 5:12:05 AM
Author: hsuk, 2012-12-25

3 answers

Согласно документам - http://docs.oracle.com/cd/B19306_01/server.102/b14220/datatype.htm#i1847 -

Для ввода и вывода дат стандартным форматом даты Oracle является DD-MON-YY

Скорее всего, именно поэтому $last_login_details[FL_DATETIME] повторяется 25-DEC-12

Попробуйте изменить свой запрос с помощью TO_CHAR()

SELECT TO_CHAR(FL_DATETIME, 'MM/DD/YYYY HH24:MI:SS A.M.') AS FL_DATETIME ...

См. http://infolab.stanford.edu /~ульман/fcdb/oracle/или-время.html#датаформат

 6
Author: Sean, 2012-12-25 06:29:57

Решил мою проблему с помощью:

SELECT TO_CHAR(FL_DATETIME, 'DD.MM.YYYY:HH24:MI:SS') FROM "FMS_LOG" 
 3
Author: hsuk, 2013-10-10 02:25:56

Прежде всего, на мой взгляд, вы должны хранить все даты в виде временных меток unix. Это значительно облегчает вам поиск по времени и устраняет любые несоответствия, которые могут возникнуть в результате манипулирования строкой даты.

Во-вторых, я протестировал ваш код; судя по тому, что я могу сказать, все в порядке. Повторите то, что вы получаете в переменной $last_login_details[FL_DATETIME]. Проблема может заключаться в назначении переменной, а не в манипуляции со строкой даты.

Надеюсь, что помогает!

 0
Author: Sebastian Frohm, 2012-12-25 06:03:05