4

複数の受け入れられる形式で DateTime オブジェクトを作成しようとしています。

ドキュメントによるとDateTime::createFromFormat、最初のパラメーター (形式) は文字列でなければなりません。createFromFormats を作成する方法があるかどうか疑問に思っていました。

私の場合、フォーマットの年をオプションにしたい:

DateTime::createFromFormat('Y-m-d', $date);
DateTime::createFromFormat('m-d', $date);

ユーザーが入力できるように'm-d'、年は 2013 と見なされます。複数の受け入れられる形式が必要な場合は、毎回 createFromFormat を呼び出す必要がありますか?

私のシナリオの最短のものは次のとおりです。

DateTime::createFromFormat('m-d', $date) ?: DateTime::createFromFormat('Y-m-d', $date);
4

1 に答える 1