如何转换这样的时间字符串:
30/7/2010
到UNIX时间戳?
我尝试了strtotime()
,但我得到一个空字符串:(
答案 0 :(得分:10)
PHP> = 5.3:
$var = DateTime::createFromFormat('j/n/Y','30/7/2010')->getTimestamp();
答案 1 :(得分:5)
您使用的是英国日期格式。
快速而肮脏的方法:
$dateValues = explode('/','30/7/2010');
$date = mktime(0,0,0,$dateValues[1],$dateValues[0],$dateValues[2]);
答案 2 :(得分:2)
您可能希望使用http://us3.php.net/manual/en/function.strptime.php(strptime
),因为您的日期与PHP可能期望的格式不同。
答案 3 :(得分:0)
您也可以将其转换为strtotime()可以接受的格式,例如Y / M / D:
$tmp = explode($date_str);
$converted = implode("/", $tmp[2], $tmp[1], $tmp[0]);
$timestamp = strtotime($converted);
答案 4 :(得分:0)
PHP 5.3的答案很棒
DateTime::createFromFormat('j/n/Y','30/7/2010')->getTimestamp();
这是< 5.3.0解决方案
$timestamp = getUKTimestamp('30/7/2010');
function getUKTimestamp($sDate) {
list($day, $month, $year) = explode('/', $sDate);
return strtotime("$month/$day/$year");
}