私はPHPを使って自分のmysqlテーブルにcsvファイルをアップロードしようとしています。PHPを使ってmysqlに日付でcsvをインポート
inline
コマンドについて聞いたことがありますが、問題はcsvの日付形式がdd/mm/yyyy
で、mysql形式がyyyy-mm-dd
だということです。
ほとんどすべてDate
変換機能を試しましたが、うまくいきません。常にMysqlテーブルで0000-00-00を参照してください。
どうすれば正しく変換できますか?
これは私が試した最後のものである:
(。$date[0]
はCSVでの日付セルである - 26/05/2016
、およびMySQLで2番目の列は日付です)
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());
}
出力しました:
入力 expectedフォーマットを待っ01-01-1970
(blank)
26/05/2015
1970-01-01
私は、全体の心を込めて、私はUnixタイムスタンプの範囲外にあるものの日付を使用する必要があるプロジェクトに取り組んでいます 'DateTime'オブジェクト:) – Catharsis
@Catharsisを使用を承認。だから、これは私が 'DateTime'を使っているとき初めてでした。私はそれなしで生きることができるとは信じられない。もう一つの利点は、 'DateTimeZone'です。それを愛して:) – vaso123
@ lolka_bolkaありがとう!それは働いた...私はまた、爆発( "/"など)で試してみて、それも傷ついた。しかし、私は好奇心が強いです。私はcsvの日付形式がわからない場合、それを行う方法はありますか?私は普遍的な変換の種類を意味する? –