gpt4 book ai didi

php - 通过php将带有日期的csv导入到mysql

转载 作者:行者123 更新时间:2023-11-29 11:32:33 25 4
gpt4 key购买 nike

我正在尝试使用 php 将 csv 文件上传到我的 mysql 表。

我听说过 inline命令但问题是 csv 日期格式为 dd/mm/yyyy mysql格式为yyyy-mm-dd .

我几乎尝试了每一个Date转换功能,但没有成功。在 Mysql 表上始终看到 0000-00-00。

如何正确转换?

这是我尝试的最后一件事:

( $date[0] 是 csv 中的日期单元格。- 26/05/2016 ,mysql 中的第二列是日期)

while ($data = fgetcsv($handle, 1000, ",")) 
{
$date = strtotime($data[0]);
$newDate = date("d-m-Y", strtotime($data[0]));
$trydate = date("Y-m-d", strtotime($newDate));
echo $newDate . "<br>". $date. "<br>" . $data[0] . "<br>". $trydate. "<br>";
$import="INSERT INTO `testresult` (cityid, date, testnum,result) VALUES('$data[1]','$newDate','$data[3]','$data[2]')";

mysqli_query($con,$import) or die(mysql_error());
}

输出是:

01-01-1970
(blank)
26/05/2015
1970-01-01

最佳答案

strtotime 等待输入 expected格式。

您需要拆分字符串,并从中创建一个 Y-m-d,或者您可以使用 DateTime 对象。

$dateString = '11/05/2016';
$Date = DateTime::createFromFormat('d/m/Y', $dateString, new DateTimeZone(('UTC')));
echo $Date->format('Y-m-d');

输出

2016-05-11 

使用strtotime

$string = '26/05/2016';
$trydate = date("Y-m-d", strtotime(substr($string, -4) . "-" . substr($string, 3, 2) . "-" . substr($string, 0, 2)));
echo $trydate;

结果是一样的。

关于php - 通过php将带有日期的csv导入到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37158953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com