如何从存储日期为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
答案 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]变量中回显你得到的内容。问题可能在于变量赋值,而不是日期字符串操作。
希望有所帮助!