Как выбрать дату и время из поля даты 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
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#датаформат
Решил мою проблему с помощью:
SELECT TO_CHAR(FL_DATETIME, 'DD.MM.YYYY:HH24:MI:SS') FROM "FMS_LOG"
Прежде всего, на мой взгляд, вы должны хранить все даты в виде временных меток unix. Это значительно облегчает вам поиск по времени и устраняет любые несоответствия, которые могут возникнуть в результате манипулирования строкой даты.
Во-вторых, я протестировал ваш код; судя по тому, что я могу сказать, все в порядке. Повторите то, что вы получаете в переменной $last_login_details[FL_DATETIME]. Проблема может заключаться в назначении переменной, а не в манипуляции со строкой даты.
Надеюсь, что помогает!