为了账号安全,请及时绑定邮箱和手机立即绑定

尽管格式正确,MySQL字段DATETIME仍被截断

尽管格式正确,MySQL字段DATETIME仍被截断

PHP
人到中年有点甜 2021-05-04 13:20:03
我目前正在尝试将数据从其加载reloads.csv到数据库中。但是DATETIME字段被截断了。我小心地得到了正确的日期格式,如此答案。当我加载数据时,会出现这种错误:成功连接537,496,3,4,4.36186,50.86034,4.372,50.86309,2017-01-01T22:05:55,2017-01-02T05:02:20 248,129,2,4,4.37052,50.86135,4.36254,50.82652,2017 -01-01T23:56:45,2017-01-02T05:05:33错误:INSERT INTO重新加载(踏板车,用户,initialLoad,finalLoad,sourceX,sourceY,destinationX,destinationY,startTime,endTime)值('248', '129','2','4','4.37052','50.86135','4.36254','50.82652','2017-01-01 23:56:45','2017-01-02 05:05 :33')复制键'PRIMARY'的条目'2017-01-01'363,17,1,4,4.36902,50.87497,4.3785,50.87691,2017-01-01T22:00:52,2017-01-02T05: 08:34错误:INSERT INTO重新加载(踏板车,用户,initialLoad,finalLoad,sourceX,sourceY,destinationX,destinationY,startTime,endTime)值('363','17','1','4','4.36902','50.87497','4.3785','50.87691','2017-01-01 22:00:52','2017-01-02 05:08:34')复制键``PRIMARY''的条目``2017-01-01''...reloads.csv具有以下结构:scooter, user, initialLoad, finalLoad, sourceX, sourceY, destinationX, destinationY, startTime, endTime537,496,3,4,4.36186,50.86034,4.372,50.86309,2017-01-01T22:05:55,2017-01-02T05:02:20248,129,2,4,4.37052,50.86135,4.36254,50.82652,2017-01-01T23:56:45,2017-01-02T05:05:33363,17,1,4,4.36902,50.87497,4.3785,50.87691,2017-01-01T22:00:52,2017-01-02T05:08:34...我这样创建了Reloads表:$sql = "CREATE TABLE Reloads (        scooter INT NOT NULL,        user INT NOT NULL,        initialLoad INT,        finalLoad INT,        sourceX FLOAT,        sourceY FLOAT,        destinationX FLOAT,        destinationY FLOAT,        startTime DATETIME NOT NULL,        endTime DATETIME,        PRIMARY KEY (startTime),        FOREIGN KEY (scooter) REFERENCES Scooters(numero),        FOREIGN KEY (user) REFERENCES Rechargeurs(ID))";我对如何调试和解决问题一无所知。在我的数据库中,所有日期时间都以这种形式被截断:2017-01-01提前致谢
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以根据数据使用substr和strpos仅获取Format格式的日期Y-m-d


$startTime = '2017-01-01T22:05:55';

$endTime   = '2017-01-02T05:08:34';

$startTime = substr($startTime,0,strpos($startTime, 'T'));

$endTime   = substr($endTime,0,strpos($endTime, 'T'));

您可以使用DateTime的Y-m-d H:i:s


$startTime  = '2017-01-01T22:05:55';

$dateObject = new DateTime($startTime);

$startTime  = $dateObject->format('Y-m-d H:i:s');


$endTime   = '2017-01-02T05:08:34';

$dateObject = new DateTime($endTime);

$endTime  = $dateObject->format('Y-m-d H:i:s');


查看完整回答
反对 回复 2021-05-28
  • 1 回答
  • 0 关注
  • 282 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号