Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voici comment je dois insérer une table dans un champ d'une table :
$data = array( 'NUM' => $num, 'DATE_CREATION' => "2007/12/31"); $this->table->insert($data); //<-- Insertion --//
Est-ce que ce format ANNEE/MOIS/JOUR sera toujours le même quel que soit le serveur web utilisé (par exemple si je prends un site chez 1and1 ?
J'affiche cette date en utilisant un objet Row->DATE_CREATION mais l'affichage de la date est en AAAA/MM/JJ. Comment faire pour afficher en JJ/MM/AAAA ?
Merci de vos réponses
Dernière modification par whitespirit (27-02-2008 12:23:18)
Hors ligne
Est-ce que ce format ANNEE/MOIS/JOUR sera toujours le même quel que soit le serveur web utilisé (par exemple si je prends un site chez 1and1 ?
Ca dépend d'où tu sort ta date. Si ça viens de Mysql il y est de forte change que oui ce soit toujours au meme format. Sinon ça dépend de la configuration de la local peut être...
J'affiche cette date en utilisant un objet Row->DATE_CREATION mais l'affichage de la date est en AAAA/MM/JJ. Comment faire pour afficher en JJ/MM/AAAA
echo implode('/',array_reverse(explode('/',$date)));
Hors ligne
Tu peux aussi utiliser :
echo date("d/m/Y", strtotime(ta_variable));
Pour moi le format de départ de la date est Y-m-d (base de donnée MySQL).
Hors ligne
Merci. Il s'agit d'une bd MySQL.
Hors ligne
voici deux fonction pour faire ces conversions
function sqlToFrenchDate($date) { return ereg_replace("([0-9]{4}).([0-9]{2}).([0-9]{2})", "\\3/\\2/\\1", $date); } function frenchToSqlDate($date) { return ereg_replace("([0-9]{2}).([0-9]{2}).([0-9]{4})", "\\3-\\2-\\1", $date); }
le séparateur dans une date SQL est toujours - et non / comme le propose MySQL sur certaine config utiliser - est la garantie d'avoir un SQL conforme ANSI et donc plus portable.
dans les méthodes ci-dessus sont accepté en entré n'importe quel caractère. mais la restitution est / pour les dates en français et - pour les dates SQL
ne sont pas accepté les date avec le mois ou le jour sur 1 digit ni l'année sur deux digit
pour l'accepter il est nécessaire de modifier légèrement les pattern quelque chose du genre
"([0-9]{1,2}).([0-9]{1,2}).([0-9]{2,4})"
mais attention l'année sur trois digit est alors acceptable 01/1/008
A+JYT
Hors ligne
et si tu fais un truc du genre :
"([0-9]{1,2}).([0-9]{1,2}).(([0-9]{2}){1,2}))"
Tu devrais avoir l'année sur 2 ou 4 chiffre maintenant, le 3 n'étant plus accepté
ca reste à vérifier tout de meme
Dernière modification par ndesaleux (27-02-2008 10:57:12)
Hors ligne
Merci à tous pour vos réponses
Hors ligne
Pages: 1