如何在PHP中将日期转换为时间戳?
如何从中获取时间戳?22-09-2008
此方法适用于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
无论如何,在将字符串解析为结构化数据时,严格执行始终是一个很好的起点。它可以节省将来的尴尬调试。因此,我建议始终指定日期格式。
还有一个 strptime() 它只要求一种格式:
$a = strptime('22-09-2008', '%d-%m-%Y');
$timestamp = mktime(0, 0, 0, $a['tm_mon']+1, $a['tm_mday'], $a['tm_year']+1900);