PHP中如何正确格式化从SQLserver中读出的日期? 50
我直接从数据库中取出的数据是1112200910:07AM用date("Y-m-dh:i:s",$rs["lastlogin"])输出1970-01-0112:00:11...
我直接从数据库中取出的数据是 11 12 2009 10:07AM 用date("Y-m-d h:i:s",$rs["lastlogin"])输出1970-01-01 12:00:11.显然是错误的. 请问PHP中有没有函数可以正确处理这个情况?谢谢
我知道sql中用convert的办法,也知道用函数处理,但这样都觉得麻烦,我想用最简单的办法.我再找找看
-------------找到解决办法了----------------
修改php.ini,
mssql.datetimeconvert = Off
就可以了.谢谢大家 展开
我知道sql中用convert的办法,也知道用函数处理,但这样都觉得麻烦,我想用最简单的办法.我再找找看
-------------找到解决办法了----------------
修改php.ini,
mssql.datetimeconvert = Off
就可以了.谢谢大家 展开
3个回答
展开全部
这个,你只能把这个读取出来的数据当字符串处理了!!
用空格去分解这个字段,保存在数组里,然后提取第一个为月份,第二个为日期,第三个为年份,第四个为小时和分钟,已经上下午
$time = $rs["lastlogin"];
$times = explode(" ",$time);
$month = $times[0];
$day = $times[1];
$year = $times[2];
$hour = substr($times[3],0,2);
$minute = substr($times[3],3,2);
if(substr($times[3],5,1)=='P')
{
$hour = intval($hour);
if($hour<12)
{
$hour += 12;
}
}
$realTime = $year."-".$month."-"."day"." ".$hour.":".$minute.":00";
echo $realTime;
用空格去分解这个字段,保存在数组里,然后提取第一个为月份,第二个为日期,第三个为年份,第四个为小时和分钟,已经上下午
$time = $rs["lastlogin"];
$times = explode(" ",$time);
$month = $times[0];
$day = $times[1];
$year = $times[2];
$hour = substr($times[3],0,2);
$minute = substr($times[3],3,2);
if(substr($times[3],5,1)=='P')
{
$hour = intval($hour);
if($hour<12)
{
$hour += 12;
}
}
$realTime = $year."-".$month."-"."day"." ".$hour.":".$minute.":00";
echo $realTime;
展开全部
这是因为date("Y-m-d h:i:s",$rs["lastlogin"])中,PHP把$rs["lastlogin"]当字符串了,所以就1970了,这个最好的方法是在SQL语句里面动手脚,比如:
select sonvert(varchar,lastlogin,120) as lastlogin from table
那么你PHP里面直接echo $rs["lastlogin"] 出现的就是 2009-11-12 10:07:00了!
select sonvert(varchar,lastlogin,120) as lastlogin from table
那么你PHP里面直接echo $rs["lastlogin"] 出现的就是 2009-11-12 10:07:00了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
date函数的第二个参数接收的是整数时间戮,而你取出的数据是格式化的字符串,所以会出错
这种时间格式在PHP应该是没有直接的函数可以处理,可以用explode函数分离字符串中的年、月、日、时间,然后重新组合起来
这种时间格式在PHP应该是没有直接的函数可以处理,可以用explode函数分离字符串中的年、月、日、时间,然后重新组合起来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询