当我知道格式时,PHP 从字符串中获取时间戳


php get timestamp from string when i know the format

有没有一个php func可以做到这一点:

$timestamp = get_timestamp_from_str('d/m/Y H:i', '10/10/2012 10:10');

strtotime() 将使用美国版本来表示 '10/10/2012',它是 m/d/Y,但我先有一天。

对于特定情况,我可以制作自己的解析器,但日期格式可能会根据访问者的本地设置而变化。但是,我将始终知道当前的格式。

我不得不插入最后一段,以便这个问题足够长,足以满足这个门户问题质量过滤器

谢谢

是的,它被称为DateTime::createFromFormat()

您可以将其用作:

$datetime = DateTime::createFromFormat( 'd/m/Y H:i', '10/10/2012 10:10', new DateTimeZone('Something'));
$timestamp = $datetime->getTimestamp();

只需确保您的时区字符串位于支持的时区列表中即可。