我希望有人可以快速回答我的问题,因为我不太擅长PHP和MySQL。
我想导入一个包含2个日期的CSV文件:1-5-2017
和31-5-2018
。
当我通过CSV导入mysql时,日期看起来像0000-00-00
我的代码:
while (($column = fgetcsv($file, 10000, ";")) !== FALSE) {
$sqlInsert = "INSERT into employees (naam,functie,afdeling,contract,DID,DUD,manager,profiel)
values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "','" . $column[4] . "', '" . $column[5] . "','" . $column[6] . "','" . $column[7] . "')";
$result = mysqli_query($conn, $sqlInsert);
谢谢
答案 0 :(得分:0)
您没有指出日期字段是哪一列
在naam,functie,afdeling,contract,DID,DUD,manager,profiel
中
您可以使用函数strtotime
和date
转换此日期格式
如下面的代码
$column[2] = date('Y-m-d', strtotime($column[2]));
例如
// this will print 2017-05-01
echo date('Y-m-d', strtotime('1-5-2017'));
答案 1 :(得分:0)
使用以下代码转换日期格式
$date="1-5-2017";
$convertedDate=date("Y-m-d", strtotime($date));
答案 2 :(得分:0)
而不是这个
Class TestEntity
{
public int EntityId { get; set; }
public string EntityName { get; set; }
}
var list = new List<TestEntity>();
list.Add(new TestEntity { EntityId = 1, EntityName = "aaa" });
list.Add(new TestEntity { EntityId = 2, EntityName = "bbb" });
//Creating context on-demand with any available objects rather than external resources (database, file etc.)
var context = new DataContext(list);
尝试一下
STR_TO_DATE('15-06-2017', '%Y/%m/%d')
这应该工作。下面提到示例Sql查询。
STR_TO_DATE('15-06-2017', '%Y-%m-%d')