たとえば、タイムスタンプを取得するにはどうすればいいでしょうか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
$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
いずれにせよ、文字列を構造化データに解析する際には、厳密に行うことが常に良い出発点となります。これにより、将来的に面倒なデバッグを回避できます。したがって、常に日付形式を指定することをお勧めします。