我试图想出一种方法来使用PHP将下面格式的任何日期转换为unix时间戳。我想知道是否有人可以帮助我实现这一目标。
这是我尝试的,但没有用:
$expiration_date = '11/22/12';
$timestamp = strtotime(date("m/d/y", $expiration_date));
答案 0 :(得分:6)
您不需要date()
部分。
这样做:
$expires = '11/22/12';
$unix = strtotime($expires);
http://php.net/manual/en/function.strtotime.php
您的示例的问题是您将字符串传递给date()
函数
date()
函数需要格式字符串,例如'm/d/y'
然后将时间作为int值
你传给它一个字符串,所以它不起作用。
答案 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;
这会给你一个整数。