0

私はループを持っており、その中で日付はさまざまな形式で来てい'10-13-2013 04:31'ます'2013-10-14T22:14:40-0700'. これを日時/タイムスタンプ列の値としてDBに保存しようとしましたが、最初の形式である10-13-2013 04:31. そこで、 を使用して UNIX タイムスタンプに変換しようとしましたstrtotime()。一部の値に対して機能しており、 のような値に対してゼロを格納しています'10-13-2013 04:31'。これは、2番目の値を月と見なしているため、失敗しているためだと思います。私のコードは次のとおりです。

foreach($reports as $report){
    echo strtotime($report->transactionDate);
}
4

1 に答える 1

2

strtotime()mm-dd-yyyy形式を解析できません。代わりに、次のようにDateTime::createFromFormat()を使用する必要があります。

$date = '10-13-2013 04:31';
$obj  = DateTime::createFromFormat('m-d-Y H:i', $date);
$date = $obj->format('Y-m-d H:i:s');
于 2013-10-17T10:57:20.303 に答える