php中如何将string类型转换为date类型插入到数据库中的date类型字段中,incorrec

RT,谢谢

mysql 的时期格式可以直接插入字符串,
不过要符合这种格式 2000-01-01 00:00:00
把你的字符串弄成这种样子可以直接存进去了
INSERT INTO `table_name` (`date`) VALUES ('2000-01-01 00:00:00');

"incorrect date value": 不正确的日期值.

有时间字符串输入格式是
2000-1-1
可以按以下方式处理
$strDate = '2000-1-1';
$arr = explode('-',$strDate);
// 按 "-" 分隔成数组,也可以是其它的分隔符
$time = mktime(0,0,0,$arr[1],$arr[2],$arr[0]);
// 根据数组中的三个数据生成UNIX时间戳mktime(时,分,秒,月,日,年)
$fmtDate = date('Y-m-d H:i:s', $time);
// 按Y-m-d H:i:s(年-月-日 时:分:秒)格式化

经过以上4行代码;
可以把字符串 $strDate (2000-1-1)
转换成 $fmtDate (2000-01-01 00:00:00)这种格式.
够详细了吧?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-26
你可以类型转换放到sql语句中,例如字符串变量为 $tm
那么你可以这么转换 convert(datetime,$tm)
convert是sql server中的函数
sql例子如下:
declare @str varchar(23) --定义字符串变量
declare @tm datetime --定义时间变量
set @str='2013.03.06' --字符串变量赋值
set @tm=convert(datetime,@str) --将字符串转化成时间类型
select @tm --得出结果:2013-03-06 00:00:00.000本回答被网友采纳
第2个回答  2013-03-26
date("Y-m-d",string);