我的日期类似 2009年12月15日星期二。如何将其转换为秒?
更新: 如何将上述格式的日期转换为Unix时间戳?
答案 0 :(得分:25)
我假设你的意思是UNIX timestamp。
strtotime()应该有帮助。
答案 1 :(得分:15)
您可以使用strtotime
功能将该日期转换为时间戳:
$str = 'Tue Dec 15 2009';
$timestamp = strtotime($str);
而且,为了确保,让我们将其转换回字符串日期:
var_dump(date('Y-m-d', $timestamp));
这给了我们:
string '2009-12-15' (length=10)
(证明strtotime
了解我们的日期^^)
[编辑2012-05-19]正如其他一些问题可能会引导一些读者:请注意, strtotime()
不是唯一的解决方案,而且你应该能够使用DateTime
类,它提供了一些有趣的功能 - 特别是如果你使用PHP> = 5.3
在这种情况下,您可以使用类似以下代码的部分:
$str = 'Tue Dec 15 2009';
$format = 'D F d Y';
$dt = DateTime::createFromFormat($format, $str);
$timestamp = $dt->format('U');
DateTime::createFromFormat()
允许人们从几乎任何日期创建 DateTime
对象,无论它是如何格式化的,因为您可以在中指定日期格式(此方法是可用PHP> = 5.3)。
DateTime::format()
允许您将该对象格式化为几乎任何类型的日期格式 - 包括此处请求的UNIX Timestamp。
答案 2 :(得分:6)
你的意思是像UNIX时间戳?尝试:
echo strtotime('Tue Dec 15 2009');