对于
PHP 5.3,这应该是正常的.你可能需要通过$dateInfo [‘is_dst’],对我来说无论如何.
$date = '05/Feb/2010:14:00:01';
$dateInfo = date_parse_from_format('d/M/Y:H:i:s', $date);
$unixTimestamp = mktime(
$dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
$dateInfo['month'], $dateInfo['day'], $dateInfo['year'],
$dateInfo['is_dst']
);
以前的版本,这应该是正常的.
$date = '05/Feb/2010:14:00:01';
$format = '@^(?P\d{2})/(?P[A-Z][a-z]{2})/(?P\d{4}):(?P\d{2}):(?P\d{2}):(?P\d{2})$@';
preg_match($format, $date, $dateInfo);
$unixTimestamp = mktime(
$dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
date('n', strtotime($dateInfo['month'])), $dateInfo['day'], $dateInfo['year'],
date('I')
);
你可能不喜欢正则表达式.你可以注释它,当然,但并不是所有人都喜欢.所以,这是另一种选择.
$day = $date[0].$date[1];
$month = date('n', strtotime($date[3].$date[4].$date[5]));
$year = $date[7].$date[8].$date[9].$date[10];
$hour = $date[12].$date[13];
$minute = $date[15].$date[16];
$second = $date[18].$date[19];
或者是substr或者爆炸,无论你想解析该字符串.