mm-dd-YYYYのフォーマットのPHP文字列(例えば、10-16-2003)がある場合、それを
Dateに、そして
YYYY-mm-ddのフォーマットの
DateTimeに適切に変換するにはどうしたらいいですか?私が
Dateと
DateTime`の両方を求める理由は、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 または d-m-y フォーマットの日付は といった形式の日付は のセパレータを見て判別します。 区切り文字が スラッシュ(/)の場合、アメリカのm/d/yを想定します。 区切り文字がスラッシュ(/)の場合、アメリカのm/d/yが想定されますが、区切り文字が 区切り文字がダッシュ(-)またはドット(. 区切り文字がダッシュ(-)またはドット(.)の場合は、ヨーロッパのd-m-y形式が想定されます。