php - 使用 Symfony-php 将日期格式错误的 csv 导入 MySQL

标签 php mysql csv symfony

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

                                    ...

while (($data = fgetcsv($handle, 0, ";")) !== false) {

                    $count++;
                    if ($count == 1) { continue; }

                    $entity = new Oasice();
 
                    $entity->setCentre($data[0]);
                    $entity->setAffaire($data[1]);
                    $entity->setTypeAffaire($data[2]);
                    $entity->setTypeDossier($data[3]);
                    $entity->setCommune($data[4]);
                    $entity->setCodeInsee($data[5]);
                    $entity->setMoaEr($data[6]);
                    $entity->setDateAmeoAmheo($data[7]); // date
                    $entity->setChargeAffaire($data[8]);
                    // a lot more column...

在此文件中,我有十列,其日期格式为 dd/mm/YYYY,这给集成到数据库中带来了问题。

我尝试了迄今为止可以找到的解决方案(例如: this ),但没有任何结论。

示例

$date = date("Y-m-d", strtotime(str_replace('/', '-', $data[7])));
dump($date)

但我的结果通常是 01-01-19701970-01-01 或空字符串。

编辑:

文件多列中的日期格式示例:

date format in multiple columns of the file date with empty strings

请问我该怎么办?我做错了什么?

最佳答案

基本上date_create_from_format (这是 Date::createFromFormat 的别名)可以创建各种格式的日期,特别是数字变体(就像您自己链接的答案中一样):

$date = date_create_from_format('d/m/Y', $data[7]);

// then turn it into the format you want, like Y-m-d:
// $mysqlDate = $date->format('Y-m-d');
// or assign it to your entity
$entity->setDateAmeoAmheo($date);

如果您有多种格式,则可以使用后备,因为 date_create_from_format 将在出错时返回 false:

$date = date_create_from_format('d/m/Y', $data[7]) 
     ?: date_create_from-format('d/m/y', $data[7])
     // and so on, if needed.
;
// rest as before

关于php - 使用 Symfony-php 将日期格式错误的 csv 导入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64294457/

相关文章:

php - lastInsertId 在第一条记录后没有返回值。我该如何检查呢?

php - 将CSV文件导入mysql数据库

php - PHP并行/分布式工具和MySQL,以及如何跨多个服务器锁定功能

MySql外键约束问题

php - 使用php导出mysql数据库数据

MySQL。混合查询并仅显示结果一次

python - 从列表中删除字典

python - 用逗号将 CSV 文件转换为 Python 中的 txt 文件

php - 根据图像大小调整居中文本字体大小。如何?

仅在 Windows 服务器上的 PHP 错误