现在的位置: 首页 > 综合 > 正文

PHP中date()函数与Oracle的to_date()和to_char()的使用

2013年04月09日 ⁄ 综合 ⁄ 共 1197字 ⁄ 字号 评论关闭

PHP中date()函数与Oracle的to_date()和to_char()的使用

在不同的项目中会经常碰到日期,时间等格式的问题,正好刚才碰到了类似问题,正好记录下解决方法:

在PHP中,也有专门的时间函数,date(),它的参数决定了生成不同的时间格式。比如:$date =
date("Y-n-j"),生成例如2010-5-1日这样的格式,$date = date("Y-m-d",time()-3600*24);  
 //组成类似昨天的类似2010-05-01这样的月份和日期由前导符号0的格式。

甚至如:$date = date("Ymj",time()-3600*24*8);生成8天前的日期格式。

<?php
echo("Result with date():<br />");
echo(date("l") . "<br />");
echo(date("l dS /of F Y h:i:s A") . "<br />");
echo("Oct 3,1975 was on a ".date("l", mktime(0,0,0,10,3,1975))."<br />");
echo(date(DATE_RFC822) . "<br />");
echo(date(DATE_ATOM,mktime(0,0,0,10,3,1975)) . "<br /><br />");

echo("Result with gmdate():<br />");
echo(gmdate("l") . "<br />");
echo(gmdate("l dS /of F Y h:i:s A") . "<br />");
echo("Oct 3,1975 was on a ".gmdate("l", mktime(0,0,0,10,3,1975))."<br />");
echo(gmdate(DATE_RFC822) . "<br />");
echo(gmdate(DATE_ATOM,mktime(0,0,0,10,3,1975)) . "<br />");
?>
Result with date():
Tuesday
Tuesday 24th of January 2006 02:41:22 PM
Oct 3,1975 was on a Friday
Tue, 24 Jan 2006 14:41:22 CET
1975-10-03T00:00:00+0100

Result with gmdate():
Tuesday
Tuesday 24th of January 2006 01:41:22 PM
Oct 3,1975 was on a Thursday
Tue, 24 Jan 2006 13:41:22 GMT
1975-10-02T23:00:00+0000

在Oracle中的日期类型为DATE,无法和字符串直接进行匹配,需要转化,或者把字符串通过to_date()转化为日期格式进行比较,或者使
用to_char('column_name','yyyy-mm-dd')等方法转化为字符串后进行比较。就获得正确的记录了。

抱歉!评论已关闭.