私はこの文字列を持っています: "13/10 15:00"そしてそれをタイムスタンプに変換したいと思いますが、私がこれをするとき:
$timestamp = strtotime("13/10 15:00");
空の値を返します。
あなたのコードでstrtotime()
は変換しようとしています13/10
は、エラーを返す13か月目の10日目です。
カスタム形式で日付文字列を解析する場合は、代わりにDateTime :: createFromFormat()を使用することをお勧めします。
$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
$timestamp = strtotime("13-10-2013 15:00");
これは重要です。
M/d/yまたはd-m-y形式の日付は、さまざまなコンポーネント間の区切り文字を調べることで明確になります。区切り文字がスラッシュ(/)の場合、アメリカのm/d/yが想定されます。一方、区切り文字がダッシュ(-)またはドット(。)の場合、ヨーロッパのd-m-y形式が想定されます。
潜在的なあいまいさを避けるために、可能であればISO 8601(YYYY-MM-DD)の日付またはDateTime :: createFromFormat()を使用するのが最善です。