时间段是smalldatetime。
在库里看到的时间是:2007-04-06 21:23:00.000
用PHP显示出来的却是:2007 四月 6 21:23
请问,我要如何得到2007-04-06这样的时间格式?
23 个解决方案
#1
date('Y-m-d',strtotime($row['somedate']));
#2
谢谢回复
用date('Y-m-d',strtotime($row['somedate']));得到的是1970-01-01
不过如果用date('Y-m-d',time());就可以得到今天的日期。
我估计是因为无法识别“2007 四月 6 21:23”这个字符串的问题
用date('Y-m-d',strtotime($row['somedate']));得到的是1970-01-01
不过如果用date('Y-m-d',time());就可以得到今天的日期。
我估计是因为无法识别“2007 四月 6 21:23”这个字符串的问题
#3
$s = "2007-04-06 21:23:00.000";
$t = explode(" ",$s);
echo $t[0];
$t = explode(" ",$s);
echo $t[0];
#4
楼上的方法也不行,因为得到的时间字符串是2007 四月 6 21:23
explode(" ","2007 四月 6 21:23")[0] = "2007"
explode(" ","2007 四月 6 21:23")[0] = "2007"
#5
在库里看到的时间是:2007-04-06 21:23:00.000
用PHP显示出来的却是:2007 四月 6 21:23
你用PHP是怎么显示的???直接用echo??
用PHP显示出来的却是:2007 四月 6 21:23
你用PHP是怎么显示的???直接用echo??
#6
我是初学者,没用过php5的,有个笨方法,不知道可行否,你可以试下。
$s = "somedate";
$t = explode(" ",$s);
if ($t[1]=="一月") $month="01";
if ($t[1]=="二月") $month="02";
if ($t[1]=="三月") $month="03";
if ($t[1]=="四月") $month="04";
if ($t[1]=="五月") $month="05";
if ($t[1]=="六月") $month="06";
if ($t[1]=="七月") $month="07";
if ($t[1]=="八月") $month="08";
if ($t[1]=="九月") $month="09";
if ($t[1]=="十月") $month=10;
if ($t[1]=="十一月") $month=11;
if ($t[1]=="十二月") $month=12;
echo $t[0]."-".$month."-".$t[2];
$s = "somedate";
$t = explode(" ",$s);
if ($t[1]=="一月") $month="01";
if ($t[1]=="二月") $month="02";
if ($t[1]=="三月") $month="03";
if ($t[1]=="四月") $month="04";
if ($t[1]=="五月") $month="05";
if ($t[1]=="六月") $month="06";
if ($t[1]=="七月") $month="07";
if ($t[1]=="八月") $month="08";
if ($t[1]=="九月") $month="09";
if ($t[1]=="十月") $month=10;
if ($t[1]=="十一月") $month=11;
if ($t[1]=="十二月") $month=12;
echo $t[0]."-".$month."-".$t[2];
#7
我是用echo直接以字符串形式显示出来的。
你用的方法我也想过,不过我觉得对于这种格式的时间应该有相应的方法或函数来格式化。
你用的方法我也想过,不过我觉得对于这种格式的时间应该有相应的方法或函数来格式化。
#8
$s = "somedate";
$t = explode(" ",$s);
switch ($t[1])
case "一月":
$month="01";
break;
case "二月":
$month="02";
break;
case "三月":
$month="03";
break;
case "四月":
$month="04";
break;
case "五月":
$month="05";
break;
case "六月":
$month="06";
break;
case "七月":
$month="07";
break;
case "八月":
$month="01";
break;
case "九月":
$month="09";
break;
case "十月":
$month=10;
break;
case "十一月":
$month=11;
break;
case "十二月":
$month=12;
break;
}
echo $t[0]."-".$month."-".$t[2];
练练手而已,不知道正确否....以上2种方式
$t = explode(" ",$s);
switch ($t[1])
case "一月":
$month="01";
break;
case "二月":
$month="02";
break;
case "三月":
$month="03";
break;
case "四月":
$month="04";
break;
case "五月":
$month="05";
break;
case "六月":
$month="06";
break;
case "七月":
$month="07";
break;
case "八月":
$month="01";
break;
case "九月":
$month="09";
break;
case "十月":
$month=10;
break;
case "十一月":
$month=11;
break;
case "十二月":
$month=12;
break;
}
echo $t[0]."-".$month."-".$t[2];
练练手而已,不知道正确否....以上2种方式
#9
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
我在PHP4.4.6下面测试正常,不知道PHP5的行不行...
echo date("Y-m-d",strtotime($s));
我在PHP4.4.6下面测试正常,不知道PHP5的行不行...
#10
错了错了,以上方法错误,哈哈~ 没注意看,返回日期是 2007-04-26,,,,,,6日和26日不同,刚才没详细看,不好意思...
#11
用switch和if应该是可行的,原理一样。不过我没做过测试。
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
在php5.1.2下等到的是1970-01-01
这应该意味着$s得到的不是有效的时间字符串
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
在php5.1.2下等到的是1970-01-01
这应该意味着$s得到的不是有效的时间字符串
#12
不好意思,我不知道捷径,所以就搞弯路出来。。。
#13
没事。不管捷径弯径
解决方法终归是解决方法的。
在没有办法的情况下还是得采用你提供的方法了。
谢谢你的参与
解决方法终归是解决方法的。
在没有办法的情况下还是得采用你提供的方法了。
谢谢你的参与
#14
再等一晚。明天结贴
#15
这个是MSSQL的问题,他会调用系统的时间显示格式
你可以用strtotime转化为UNIX时间戳后,然后用date函数
你可以用strtotime转化为UNIX时间戳后,然后用date函数
#16
用strtotime得到的是空值,所以楼上的方法也不可行
#17
看来是找不到人会了
所以还是采用了boing()的方法
结贴
所以还是采用了boing()的方法
结贴
#18
那在查询语句中使用mssql函数取值试试。
$sql = 'select substring(存储时间的字段,0,10) from table';
$sql = 'select substring(存储时间的字段,0,10) from table';
#19
我也碰到类似的问题,一年半后还是没有解决!
#20
我是在SQL语句中加上一个字段:month(sj) month
然后再用 $t = explode(" ",$s);
另外如果要用到时分的话,如果是9:59或10:00,分别在$[4]和$[3]
显示时分用:echo $t[3]==""?$t[4]:$t[3];
然后再用 $t = explode(" ",$s);
另外如果要用到时分的话,如果是9:59或10:00,分别在$[4]和$[3]
显示时分用:echo $t[3]==""?$t[4]:$t[3];
#21
date( 'Y-m-d ',$userinfo['lastvisit'])
我是这样搞定的
效果不错
我是这样搞定的
效果不错
#22
假设我是用$rs["addtime"]来取得数据里记录添加的时间,我要把时间格式化成2010/10/11的格式,用下面的方法就行!
date( 'Y-m-d ',strtotime($rs["addtime"]));
如果用的是date( 'Y-m-d ',$rs["addtime"])这样得到的时间是1970/01/01的格式。
date( 'Y-m-d ',strtotime($rs["addtime"]));
如果用的是date( 'Y-m-d ',$rs["addtime"])这样得到的时间是1970/01/01的格式。
#23
<?php
echo date("Y-m-d",strtotime($row_rsLesson['N_Date']));
?>
将 $row_rsLesson['N_Date']) 改为你的时间记录字段内容
这里用到两个函数 一个 是date() 一个 是strtotime()
date() :传入时间戳值,将时间戳格式化传回
strtotime () 将任何英文文本的日期时间描述解析为 UNIX 时间戳
echo date("Y-m-d",strtotime($row_rsLesson['N_Date']));
?>
将 $row_rsLesson['N_Date']) 改为你的时间记录字段内容
这里用到两个函数 一个 是date() 一个 是strtotime()
date() :传入时间戳值,将时间戳格式化传回
strtotime () 将任何英文文本的日期时间描述解析为 UNIX 时间戳
#1
date('Y-m-d',strtotime($row['somedate']));
#2
谢谢回复
用date('Y-m-d',strtotime($row['somedate']));得到的是1970-01-01
不过如果用date('Y-m-d',time());就可以得到今天的日期。
我估计是因为无法识别“2007 四月 6 21:23”这个字符串的问题
用date('Y-m-d',strtotime($row['somedate']));得到的是1970-01-01
不过如果用date('Y-m-d',time());就可以得到今天的日期。
我估计是因为无法识别“2007 四月 6 21:23”这个字符串的问题
#3
$s = "2007-04-06 21:23:00.000";
$t = explode(" ",$s);
echo $t[0];
$t = explode(" ",$s);
echo $t[0];
#4
楼上的方法也不行,因为得到的时间字符串是2007 四月 6 21:23
explode(" ","2007 四月 6 21:23")[0] = "2007"
explode(" ","2007 四月 6 21:23")[0] = "2007"
#5
在库里看到的时间是:2007-04-06 21:23:00.000
用PHP显示出来的却是:2007 四月 6 21:23
你用PHP是怎么显示的???直接用echo??
用PHP显示出来的却是:2007 四月 6 21:23
你用PHP是怎么显示的???直接用echo??
#6
我是初学者,没用过php5的,有个笨方法,不知道可行否,你可以试下。
$s = "somedate";
$t = explode(" ",$s);
if ($t[1]=="一月") $month="01";
if ($t[1]=="二月") $month="02";
if ($t[1]=="三月") $month="03";
if ($t[1]=="四月") $month="04";
if ($t[1]=="五月") $month="05";
if ($t[1]=="六月") $month="06";
if ($t[1]=="七月") $month="07";
if ($t[1]=="八月") $month="08";
if ($t[1]=="九月") $month="09";
if ($t[1]=="十月") $month=10;
if ($t[1]=="十一月") $month=11;
if ($t[1]=="十二月") $month=12;
echo $t[0]."-".$month."-".$t[2];
$s = "somedate";
$t = explode(" ",$s);
if ($t[1]=="一月") $month="01";
if ($t[1]=="二月") $month="02";
if ($t[1]=="三月") $month="03";
if ($t[1]=="四月") $month="04";
if ($t[1]=="五月") $month="05";
if ($t[1]=="六月") $month="06";
if ($t[1]=="七月") $month="07";
if ($t[1]=="八月") $month="08";
if ($t[1]=="九月") $month="09";
if ($t[1]=="十月") $month=10;
if ($t[1]=="十一月") $month=11;
if ($t[1]=="十二月") $month=12;
echo $t[0]."-".$month."-".$t[2];
#7
我是用echo直接以字符串形式显示出来的。
你用的方法我也想过,不过我觉得对于这种格式的时间应该有相应的方法或函数来格式化。
你用的方法我也想过,不过我觉得对于这种格式的时间应该有相应的方法或函数来格式化。
#8
$s = "somedate";
$t = explode(" ",$s);
switch ($t[1])
case "一月":
$month="01";
break;
case "二月":
$month="02";
break;
case "三月":
$month="03";
break;
case "四月":
$month="04";
break;
case "五月":
$month="05";
break;
case "六月":
$month="06";
break;
case "七月":
$month="07";
break;
case "八月":
$month="01";
break;
case "九月":
$month="09";
break;
case "十月":
$month=10;
break;
case "十一月":
$month=11;
break;
case "十二月":
$month=12;
break;
}
echo $t[0]."-".$month."-".$t[2];
练练手而已,不知道正确否....以上2种方式
$t = explode(" ",$s);
switch ($t[1])
case "一月":
$month="01";
break;
case "二月":
$month="02";
break;
case "三月":
$month="03";
break;
case "四月":
$month="04";
break;
case "五月":
$month="05";
break;
case "六月":
$month="06";
break;
case "七月":
$month="07";
break;
case "八月":
$month="01";
break;
case "九月":
$month="09";
break;
case "十月":
$month=10;
break;
case "十一月":
$month=11;
break;
case "十二月":
$month=12;
break;
}
echo $t[0]."-".$month."-".$t[2];
练练手而已,不知道正确否....以上2种方式
#9
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
我在PHP4.4.6下面测试正常,不知道PHP5的行不行...
echo date("Y-m-d",strtotime($s));
我在PHP4.4.6下面测试正常,不知道PHP5的行不行...
#10
错了错了,以上方法错误,哈哈~ 没注意看,返回日期是 2007-04-26,,,,,,6日和26日不同,刚才没详细看,不好意思...
#11
用switch和if应该是可行的,原理一样。不过我没做过测试。
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
在php5.1.2下等到的是1970-01-01
这应该意味着$s得到的不是有效的时间字符串
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
在php5.1.2下等到的是1970-01-01
这应该意味着$s得到的不是有效的时间字符串
#12
不好意思,我不知道捷径,所以就搞弯路出来。。。
#13
没事。不管捷径弯径
解决方法终归是解决方法的。
在没有办法的情况下还是得采用你提供的方法了。
谢谢你的参与
解决方法终归是解决方法的。
在没有办法的情况下还是得采用你提供的方法了。
谢谢你的参与
#14
再等一晚。明天结贴
#15
这个是MSSQL的问题,他会调用系统的时间显示格式
你可以用strtotime转化为UNIX时间戳后,然后用date函数
你可以用strtotime转化为UNIX时间戳后,然后用date函数
#16
用strtotime得到的是空值,所以楼上的方法也不可行
#17
看来是找不到人会了
所以还是采用了boing()的方法
结贴
所以还是采用了boing()的方法
结贴
#18
那在查询语句中使用mssql函数取值试试。
$sql = 'select substring(存储时间的字段,0,10) from table';
$sql = 'select substring(存储时间的字段,0,10) from table';
#19
我也碰到类似的问题,一年半后还是没有解决!
#20
我是在SQL语句中加上一个字段:month(sj) month
然后再用 $t = explode(" ",$s);
另外如果要用到时分的话,如果是9:59或10:00,分别在$[4]和$[3]
显示时分用:echo $t[3]==""?$t[4]:$t[3];
然后再用 $t = explode(" ",$s);
另外如果要用到时分的话,如果是9:59或10:00,分别在$[4]和$[3]
显示时分用:echo $t[3]==""?$t[4]:$t[3];
#21
date( 'Y-m-d ',$userinfo['lastvisit'])
我是这样搞定的
效果不错
我是这样搞定的
效果不错
#22
假设我是用$rs["addtime"]来取得数据里记录添加的时间,我要把时间格式化成2010/10/11的格式,用下面的方法就行!
date( 'Y-m-d ',strtotime($rs["addtime"]));
如果用的是date( 'Y-m-d ',$rs["addtime"])这样得到的时间是1970/01/01的格式。
date( 'Y-m-d ',strtotime($rs["addtime"]));
如果用的是date( 'Y-m-d ',$rs["addtime"])这样得到的时间是1970/01/01的格式。
#23
<?php
echo date("Y-m-d",strtotime($row_rsLesson['N_Date']));
?>
将 $row_rsLesson['N_Date']) 改为你的时间记录字段内容
这里用到两个函数 一个 是date() 一个 是strtotime()
date() :传入时间戳值,将时间戳格式化传回
strtotime () 将任何英文文本的日期时间描述解析为 UNIX 时间戳
echo date("Y-m-d",strtotime($row_rsLesson['N_Date']));
?>
将 $row_rsLesson['N_Date']) 改为你的时间记录字段内容
这里用到两个函数 一个 是date() 一个 是strtotime()
date() :传入时间戳值,将时间戳格式化传回
strtotime () 将任何英文文本的日期时间描述解析为 UNIX 时间戳