从m / d / y格式日期转换为Unix时间戳

时间:2012-11-19 22:41:04

标签: php timestamp

我试图想出一种方法来使用PHP将下面格式的任何日期转换为unix时间戳。我想知道是否有人可以帮助我实现这一目标。

这是我尝试的,但没有用:

   $expiration_date = '11/22/12';

   $timestamp = strtotime(date("m/d/y", $expiration_date));     

2 个答案:

答案 0 :(得分:6)

您不需要date()部分。

这样做:

$expires = '11/22/12';
$unix = strtotime($expires);

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

您的示例的问题是您将字符串传递给date()函数 date()函数需要格式字符串,例如'm/d/y'然后将时间作为int值 你传给它一个字符串,所以它不起作用。

date()http://php.net/manual/en/function.date.php

答案 1 :(得分:2)

请使用DateTime进行这些操作。

$expiration_date = '11/22/12';
list($m, $d, $y) = explode('/', $expiration_date);
$unix = (checkdate((int)$m, (int)$d, (int)$y + 2000)) ? DateTime::createFromFormat('m/d/y', $expiration_date, new DateTimeZone('Europe/Berlin'))->getTimestamp() : false;
echo $unix;

这会给你一个整数。