如何将excel表导入数据库时​​转换date

我有一个格式01年3月1日的Excel表格。 当我导入该CSV文件到我的数据库中,它存储为0000-00-00。 如何在导入时转换dateformat 或者有没有其他办法? PLZ的帮助

这是即时通讯使用导入到数据库的代码

$databasetable = "sample"; $fieldseparator = ","; $lineseparator = "\n"; $csvfile = "../uploads/" . basename( $_FILES['file']['name']); $addauto = 0; $save = 1; $outputfile = "../temp/output.sql"; if(!file_exists($csvfile)) { #echo $csvfile; echo "File not found. Make sure you specified the correct path.\n"; return 0; exit; } $file = fopen($csvfile,"r"); if(!$file) { #echo "Error opening data file.\n"; return 0; exit; } $size = filesize($csvfile); if(!$size) { echo "File is empty.\n"; return 0; exit; } $csvcontent = fread($file,$size); fclose($file); $lines = 0; $queries = ""; $linearray = array(); foreach(split($lineseparator,$csvcontent) as $line) { $lines++; $line = trim($line," \t"); $line = str_replace("\r","",$line); $line = str_replace("'","\'",$line); $linearray = explode($fieldseparator,$line); $linemysql = implode("','",$linearray); if($addauto) $query = "insert into $databasetable values('','$linemysql');"; else $query = "insert into $databasetable values('$linemysql');"; $queries .= $query . "\n"; @mysql_query($query); 

 $d = "01-Mar-10"; $in_db = date('Ym-d', strtotime($d)); echo $in_db; 

输出:

 2010-03-01 

使用date()转换获取存储在数据库中的有效dateforms。 使用strtotime()将exceldate格式转换为时间戳。

将数据爆炸到$ linearray后使用

 $linearray[ID]=date('Ym-d', strtotime($linearray[ID])); 

将其价值更改为适当的格式。 将ID与元素的数组索引replace为date字段。