web-dev-qa-db-ja.com

この文字列をタイムスタンプに変換PHP

私はこの文字列を持っています: "13/10 15:00"そしてそれをタイムスタンプに変換したいと思いますが、私がこれをするとき:

      $timestamp = strtotime("13/10 15:00");

空の値を返します。

14
user2876368

あなたのコードでstrtotime()は変換しようとしています13/10は、エラーを返す13か月目の10日目です。

カスタム形式で日付文字列を解析する場合は、代わりにDateTime :: createFromFormat()を使用することをお勧めします。

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
44
user1864610
  $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()を使用するのが最善です。

http://uk3.php.net/strtotime

18
Lajos Veres