Excelシートから値を読み取り、それらをSQLテーブルに挿入するスクリプトがあります。私の問題は、スクリプトがいくつかの日付フィールドを読み取り、それらをデフォルト値に設定するときです:1970-01-01 01:00:00
これは、「日」が 12 より大きい日付に遭遇したときに発生していることに気付きました: 13/05/2012 18:52:33
(dd-mm-yyyy hh-mm-ss)
これは、これが月のフィールド (つまり、アメリカの形式) であるとスクリプトが考えており、無効な値と見なしていることが原因である可能性があると考えたので、問題が解決することを期待してデフォルトのタイムゾーンを自分のものに設定しましたが、違いはありませんでした.date_default_timezone_set('Europe/Dublin');
これが私のコードが行っていることの例です:
Excel フィールド値:
01/05/2012 18:32:45
脚本:
$start_time = $data->val($x,5);
echo $start_time = date("Y-m-d H:i:s", strtotime($start_time));
出力:
2012-01-05 18:32:45
これは私が探している正確な形式です (日と月のフィールドが入れ替わっていること、つまりアメリカの日付形式を除いて) ですが、上記の日付の種類では機能しません。