PHPで日付をタイムスタンプに変換するにはどうすればいいですか? 質問する

PHPで日付をタイムスタンプに変換するにはどうすればいいですか? 質問する

たとえば、タイムスタンプを取得するにはどうすればいいでしょうか22-09-2008?

ベストアンサー1


この方法はWindowsとUnixの両方で動作しタイムゾーンを認識します。これは、日付

タイムゾーンを気にしない、またはサーバーが使用するタイムゾーンを使用する場合は、次のようにします。

$d = DateTime::createFromFormat('d-m-Y H:i:s', '22-09-2008 00:00:00');
if ($d === false) {
    die("Incorrect date string");
} else {
    echo $d->getTimestamp();
}

1222093324 (サーバーのタイムゾーンによって異なります)


どのタイムゾーンを指定するかは、EST で指定します。(ニューヨークと同じです。)

$d = DateTime::createFromFormat(
    'd-m-Y H:i:s',
    '22-09-2008 00:00:00',
    new DateTimeZone('EST')
);

if ($d === false) {
    die("Incorrect date string");
} else {
    echo $d->getTimestamp();
}

1222093305


または、UTC。 (と同じ "GMT「」。

$d = DateTime::createFromFormat(
    'd-m-Y H:i:s',
    '22-09-2008 00:00:00',
    new DateTimeZone('UTC')
);

if ($d === false) {
    die("Incorrect date string");
} else {
    echo $d->getTimestamp();
}

1222093289


いずれにせよ、文字列を構造化データに解析する際には、厳密に行うことが常に良い出発点となります。これにより、将来的に面倒なデバッグを回避できます。したがって、常に日付形式を指定することをお勧めします。

おすすめ記事