php中如何将string类型转换为date类型插入到数据库中的date类型字段中,incorrect date value啥意思?
RT,谢谢mysql,在表单的文本框输日期,插入到数据库时显示incorrectdatevalue...
RT,谢谢
mysql,在表单的文本框输日期,插入到数据库时显示incorrect date value 展开
mysql,在表单的文本框输日期,插入到数据库时显示incorrect date value 展开
4个回答
展开全部
1、首先介绍一下将String类型转为Date类型的方法。需要导入java.text.SimpleDateFormat类。下面举一个例子,比如有一个字符串 “2018-08-24“,想要转为Date类型,代码如图所示。
2、下面我们验证一下。是否转化成功,打印一下转化后的时间类型的毫秒数,如果可以打印出结果,说明转化成功,代码如图所示。
3、通过上面的代码可以看出,String类型已经成功转换为Date类型了,注意一点,使用SimpleDateFormat需要捕获ParseException异常。如图所示。
4、以将当前时间转化为字符串为例,获取当前时间可以使用Date nowDate = new Date(),如图所示。
5、时间类型转化为String类型,可以使用SimpleDateFormat的format方法,非常的简单,下面我们看一下代码并打印一下转化后的时间字符串,如图所示。
展开全部
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)这种格式.
够详细了吧?
不过要符合这种格式 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)这种格式.
够详细了吧?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你用的什么类型的数据库,我用过的真正意义上的数据库,都有自动类型转换的功能,就是说都支持下面这样的SQL语句:
INSERT INTO table (dateFile) VALUES ('2009-3-19')
INFORMIX支持、MYSQL也支持,不过好像FOXPRO和ACCESS不支持,我对微软的东西不熟悉。
如果你是使用的MYSQL数据库,完全可以使用上面的类似语句,利用数据库的自动类型转换实现。注意日期数据有引号,例如:
$regdate='2009-3-19';
$sql="INSERT INTO table(regdate) VALUES ('$regdate')";
INSERT INTO table (dateFile) VALUES ('2009-3-19')
INFORMIX支持、MYSQL也支持,不过好像FOXPRO和ACCESS不支持,我对微软的东西不熟悉。
如果你是使用的MYSQL数据库,完全可以使用上面的类似语句,利用数据库的自动类型转换实现。注意日期数据有引号,例如:
$regdate='2009-3-19';
$sql="INSERT INTO table(regdate) VALUES ('$regdate')";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
手动通过转换函数转换
INSERT INTO table (dateFile) VALUES (convert(varchar(10),cast('2009-3-9' as datetime),20) as t)
或者直接在PHP.INI里面把
mssql.datetimeconvert 设为OFF
INSERT INTO table (dateFile) VALUES (convert(varchar(10),cast('2009-3-9' as datetime),20) as t)
或者直接在PHP.INI里面把
mssql.datetimeconvert 设为OFF
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询