PHPで日付形式を「d/m/y」から「y-m-d」に変更する方法


方法1: date()関数を使用する方法

$date = '31/12/2022';
$formatted_date = date('Y-m-d', strtotime(str_replace('/', '-', $date)));
echo $formatted_date;  // 結果: 2022-12-31

上記のコードでは、date()関数を使用して指定した日付形式に変換しています。strtotime()関数を使用して、文字列内のスラッシュ(/)をハイフン(-)に置き換えてから、指定した日付形式に変換しています。

方法2: DateTimeクラスを使用する方法

$date = '31/12/2022';
$datetime = DateTime::createFromFormat('d/m/Y', $date);
$formatted_date = $datetime->format('Y-m-d');
echo $formatted_date;  // 結果: 2022-12-31

上記のコードでは、DateTime::createFromFormat()メソッドを使用して、指定した日付形式の文字列をDateTimeオブジェクトに変換しています。その後、format()メソッドを使用して、目的の日付形式にフォーマットしています。

どちらの方法でも、指定した日付形式に変換することができます。自分のプロジェクトの要件に合わせて、適切な方法を選択してください。

以上が、PHPで日付形式を「d/m/y」から「y-m-d」に変更する方法の例です。