2010-05-11 4 views

Répondre

4

Serait-il option d'utiliser les fonctions PHP pour générer un horodatage Unix (c'est-à-dire secondes depuis Unix Epoch) et laisser MySQL gérer à partir de là?

PHP: - PHP Documentation

$timestamp = strtotime('Sat, 07 Sep 2002 09:42:31 GMT'); // = 1031391751 

MySQL: - MySQL Documentation

... `timestamp` = FROM_UNIXTIME(1031391751) ... 
+0

Aucune idée pourquoi cela a moins de votes que la réponse d'Alix - qui ne répond pas à la question posée ainsi que celle-ci. – symcbean

2

De MySQL Manual:

colonnes TIMESTAMP sont affichées dans le même format que colonnes DATETIME. En d'autres termes, la largeur d'affichage est fixée à 19 caractères et le format est 'AAAA-MM-JJ HH: MM: SS'.

Les RSS 2.0 specification stipule que:

Toutes Date fois en RSS conformes à la Date et heure spécification de la RFC 822, à l'exception que l'année peut être exprimé avec deux caractères ou quatre caractères (quatre préférés).


Donc, si nous avons la date de RSS suivant:

$timeRSS = 'Sat, 07 Sep 2002 09:42:31 GMT'; // RFC 822 

Nous devons faire ce qui suit pour le convertir au format MySQL TIMESTAMP:

date_default_timezone_set('GMT'); // make sure we are using the same timezone 
date('Y-m-d H:i:s', strtotime($timeRSS)); // 2002-09-07 09:42:31 
+0

D'après ce que je me souviens, le format "r" Date() Sorties datetimes conforme RFC2822; peut être légèrement plus facile que de le spécifier à la main ... –

+0

@Matt: 'date ('r')' = 'Jeu, 21 Dec 2000 16:01:07 + 0200', ce n'est pas compatible avec le format MySQL' TIMESTAMP'. –

+0

Désolé, je lisais clairement avant d'avoir bu mon café, et ai sauté une ligne ou deux. –