我是初学者,没用过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);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种方式
用date('Y-m-d',strtotime($row['somedate']));得到的是1970-01-01
不过如果用date('Y-m-d',time());就可以得到今天的日期。
我估计是因为无法识别“2007 四月 6 21:23”这个字符串的问题
$t = explode(" ",$s);
echo $t[0];
explode(" ","2007 四月 6 21:23")[0] = "2007"
用PHP显示出来的却是:2007 四月 6 21:23你用PHP是怎么显示的???直接用echo??
$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];
你用的方法我也想过,不过我觉得对于这种格式的时间应该有相应的方法或函数来格式化。
$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种方式
echo date("Y-m-d",strtotime($s));我在PHP4.4.6下面测试正常,不知道PHP5的行不行...
$s="2007 四月 6 21:23";
echo date("Y-m-d",strtotime($s));
在php5.1.2下等到的是1970-01-01
这应该意味着$s得到的不是有效的时间字符串
所以还是采用了boing()的方法
结贴
$sql = 'select substring(存储时间的字段,0,10) from table';
date( 'Y-m-d ',strtotime($rs["addtime"])); 如果用的是date( 'Y-m-d ',$rs["addtime"])这样得到的时间是1970/01/01的格式。
echo date("Y-m-d",strtotime($row_rsLesson['N_Date']));
?> 将 $row_rsLesson['N_Date']) 改为你的时间记录字段内容
这里用到两个函数 一个 是date() 一个 是strtotime() date() :传入时间戳值,将时间戳格式化传回 strtotime () 将任何英文文本的日期时间描述解析为 UNIX 时间戳