如何使用php日期函数从oracle日期字段中选择日期和时间

时间:2012-12-25 05:48:08

标签: php sql oracle

如何从存储日期为12/25/2012 5:12:05 AM。

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

上述函数返回时间为凌晨12:00,应该在早上5:12返回。

FL_DATETIME的数据类型为DATE。

在数据库上,值的存储方式如下:

   12/25/2012 5:12:05 AM

3 个答案:

答案 0 :(得分:6)

根据文档 - 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/~ullman/fcdb/oracle/or-time.html#date格式

答案 1 :(得分:3)

解决了我的问题:

SELECT TO_CHAR(FL_DATETIME, 'DD.MM.YYYY:HH24:MI:SS') FROM "FMS_LOG" 

答案 2 :(得分:0)

首先,在我看来,您应该将所有日期存储为unix时间戳。这使您可以更轻松地对时间进行搜索,并消除日期字符串操作可能产生的任何不一致。

其次,我测试了你的代码;从我能说的来看,它看起来还可以。在$ last_login_details [FL_DATETIME]变量中回显你得到的内容。问题可能在于变量赋值,而不是日期字符串操作。

希望有所帮助!