Conversion de la date RFC 1123 en horodatage en PHP
Question
Quel est le moyen le plus simple et le plus élégant de convertir une date RFC 1123 (à partir d'un en-tête HTTP-Expiration) en un horodatage UNIX?
Exemple: dimanche 14 août 2005 à 16:13:03 GMT
Dois-je vraiment tout sous-traiter?
La solution
strtotime
peut lire ce format.
Autres conseils
La méthode ennuyeuse:
$datestring = 'Sun, 14 Aug 2005 16:13:03 GMT';
$months = array('Jan' => 1,
'Feb' => 2,
'Mar' => 3,
'Apr' => 4,
'May' => 5,
'Jun' => 6,
'Jul' => 7,
'Aug' => 8,
'Sep' => 9,
'Oct' => 10,
'Nov' => 11,
'Dec' => 12,
);
$date = explode(' ', $datestring);
// Validity check
if(count($date) != 6) { return; }
$time = explode(':', $date[4]);
// Validity check
if(count($time) != 3) { return; }
if(! isset($months[$date[2]])) { return; }
// Convert to time
$timestamp= gmmktime($time[0], $time[1], $time[2], $months[$date[2]], $date[1], $date[3]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow