1

この日付を変換する次のコードです->サポートさ18/07/2013れている形式に。mysql

$date = date('Y-m-d', strtotime('18/07/2013'));

理想的には、これは返されるはず2013-07-18です...
しかし、問題は、文字列が次のように自動的に選択されることです。
YEAR as YEAR MONTH as DAY DAY as MONTH

現在、 として識別されるため18month範囲外になり、デフォルトの日付が表示されます1970-01-01

私はこのことでほぼ2日を無駄にしました.

誰かが助けてくれるなら、事前に感謝します!

4

6 に答える 6

5

DateTimeオブジェクトを使用して、日付を渡す形式を PHP に理解させます。

$date = DateTime::createFromFormat('d/m/Y', '18/07/2013');
echo $date ->format('Y-m-d');
于 2013-07-02T07:50:47.280 に答える
1

日付のタイム ゾーンを設定する必要があります。日付はアメリカ式として解析されており、アメリカ式の日付形式は mm/dd/yyyy です...

date_default_timezone_set('Europe/Berlin');

また、正しいregを使用してください。日付関数の式

$date = date( 'YY "/" MM "/" DD', strtotime('18/07/2013'));
于 2013-07-02T07:59:47.523 に答える
1

strtotime パラメータは次の形式にする必要があります18-07-2013

于 2013-07-02T07:52:54.560 に答える