我有一個腳本,它是從excel工作表讀取值並將它們插入到sql表中。我的問題是,當腳本讀取某些日期字段時,它將它們設置爲默認值:1970-01-01 01:00:00
PHP的strtotime()設置日期爲默認
我注意到這是發生在'date'大於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
這是我正在查找的確切格式(除了日期和月份字段切換到美國日期格式這一事實除外),但它不適用於上面提到的日期類型。
您好,感謝您的答覆。嘗試了你的建議,但它給了以下結果:2013-05-01 18:52:33日期13/05/2012 18:52:33 – Paddyd
@Paddyd'createFromFormat'類似於'date_parse_from_format()',所以你需要將格式更新爲'd/m/YH:i:s'。 –
乾杯蒂姆,改變了格式,它的工作完美! – Paddyd