の形式の PHP 文字列がある場合mm-dd-YYYY
(たとえば、10-16-2003)、それを に正しく変換しDate
、次に のDateTime
形式のに変換するにはどうすればよいでしょうかYYYY-mm-dd
。 と の両方を要求する唯一の理由Date
は、DateTime
1 つの場所に 1 つが必要で、もう 1 つを別の場所に必要なためです。
ベストアンサー1
strtotime()
最初のデートで使用して、date('Y-m-d')
元に戻すには:
$time = strtotime('10/16/2003');
$newformat = date('Y-m-d',$time);
echo $newformat;
// 2003-10-16
スラッシュ/
とハイフン-
の使用には違いがあることに注意してください。strtotime()
関数。php.net から引用すると:
m/d/y または dmy 形式の日付は、さまざまなコンポーネント間の区切り記号を確認することで区別されます。区切り記号がスラッシュ (/) の場合は、米国の m/d/y 形式であると想定されます。区切り記号がダッシュ (-) またはドット (.) の場合は、ヨーロッパの dmy 形式であると想定されます。
潜在的な曖昧さを避けるために、可能な場合は ISO 8601 (YYYY-MM-DD) の日付またはDateTime::createFromFormat()を使用することをお勧めします。