PHP スクリプトで、URL を介して渡された日付を「dd/mm/yyyy」から変換するときに問題が発生しました
strtotime() を使用して日付を解析する場合、有効な日時形式であることを確認することが重要です。使用している「dd/mm/yyyy」形式は、最初の 2 桁が月を示し、その後に日と年が続く米国形式として解釈されます。
ただし、日付を渡すと、曖昧な場合 (例: 04/12/2017 または 12/04/2017)、strtotime() は月が最初に来ると想定しているため、予期しない結果が生じる可能性があります。
これらの問題を回避するには、DateTime:: を使用することをお勧めします。 createFromFormat() を使用して日付を解析し、DateTime() オブジェクトを返します。このオブジェクトを使用すると、日付を別の形式に変換したり、Unix タイムスタンプを取得したりできます。
今回の場合、次のコードで日付が正常に変換されます。
<code class="php">$date = DateTime::createFromFormat('m/d/Y', '20/02/2000'); $D->query = $date->format('Y-m-d'); // Outputs: 2000-02-20</code>
さらに、次のようなものがあります。同様の問題を回避するためのヒント:
以上がPHP URL の「dd/mm/yyyy」日付を「YYYY-MM-DD」形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。