PHP将日期转换为时间戳

问题描述:

如何将“9/7/2009”转换为时间戳,例如time()?我使用strtotime()PHP将日期转换为时间戳

是的,你可以使用strtotime()

$time = strtotime('9/7/2009'); 
echo $time; // 1252278000 

这将承担毫米的格式/ DD/YYYY所以不要与英国式的DD/MM/YYYY日期尝试。

走另外一条路,用date()

$date = date('n/j/Y', $time); 
echo $date; // 9/7/2009 

的strtotime()是正确的。

http://php.net/manual/en/function.strtotime.php

您可以通过将返回的时间戳早在date()函数进行测试,以确保万无一失。

<?php echo date("m-d-Y",strtotime("9/7/2009")); ?> 

使用strptime如果你想更精确的左右格式解析,并记住,当人们在世界其他地方看到“2009/9/7”他们读9日2009年7月,而不是9月7日2009年

+0

我很确定它是MM/DD/YY作为标准格式 - 我错了吗? – jkushner 2009-12-01 18:46:09

+1

是的,'MM/DD/YY'是'strtotime()'在默认情况下会持续几个月的格式 - 但我在谈论人们何时读取日期,而不是PHP。 – 2009-12-01 20:01:13

这样做,因为PHP 5.3的较新的方法是用getTimestamp()方法使用DateTime class

$datetime = new DateTime('9/7/2009'); 
echo $datetime->getTimestamp(); 

See it in action