bonsoir ,
voila , depuis que je passe en serveur dedié , j'ai plusieur probleme
ici , lorsque je fais l'insertion de l'heure/date avec timestamp
il m'affiche ceci :
20060508130628
au lieu de
2006:05:08 13:06 :28
why?
thanks a lot
bonsoir ,
voila , depuis que je passe en serveur dedié , j'ai plusieur probleme
ici , lorsque je fais l'insertion de l'heure/date avec timestamp
il m'affiche ceci :
20060508130628
au lieu de
2006:05:08 13:06 :28
why?
thanks a lot
hellow,
y'aurait pas une différence de version entre les serveurs SQL (MySQL?)
Par défaut:
4.0 et inférieur >> le timestamp est retourné YYYYMMDDHHMMSS
4.1 et sup >> le timestamp est retourné YYYY-MM-DD HH:MM:SS
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
cela vien surement de la
mais le probleme c'est que je ne vais pas modifier la version juste pour ca , enfin je pense , y aurait il des lors uns solution autre que celle ci?
d'après ce que j'ai trouvé, si t'as une version de mysql > 4.0.12 et < 4.1, tu peux lancer ton serveur avec le param --new, pour qu'il se comporte comme la 4.1. Tu auras ainsi tes timestamps "corrects".
Sinon, tu peux toujours faire une fonction PHP (voire une requête mysql, mais plus ennuyant) qui réécrit le timestamp dans le format que tu veux ...
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
j'opte pour la 2
je vois pas trop comment faire , si tu sais comment et que tu as le code sous la main tu peux m'aidez , au contraire je rechercherais des infos a ce sujet
merci
Quelqu'un serais m'aider?
je ne trouve rien sur ce sujet , si vous avez des liens de doc je suis preneur
il faut bien se dire que tu ne pourras pas changer l'insertion du timestamp dans la DB, ca, ca dépend du serveur... Par contre, tu pourras changer l'affichage de celui-ci dans une page qd tu le récupères! Et là, y'a plein de fonctions pour travailler sur les chaines de caractères, et je pense qu'avec un bon ptit preg_replace, tu devrais y arriver.
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
Ici : http://fr.php.net/manual/fr/ref.mysql.php#54528
tu as un exemple de fonction qui fait ca
Exemple d'appel :
Maintenant, pour ton cas particulier, il y a plus simple... je pense que
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo mysql_convert_timestamp_to_previous_usage("YYYY-MM-DD HH:MM:SS", 14); // affiche YYYYMMDDHHMMSS
suffit... mais ca ne gere que le cas des timestamp(14)
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo str_replace(array('-',':',' '), array('', '', ''), "YYYY-MM-DD HH:MM:SS");
Sauf que c'est tout le contraire qu'il veut faire
(enfin, d'après ce que j'ai compris du post d'origine...)
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
Oui, on dirait que tu as raison, j'ai été trop prompt ;o)
Une solution pour le cas inverse donc (timestamp(14) uniquement) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 list($annee1,$annee2,$mois,$jour,$heure,$minute,$seconde) = explode("\1", chunk_split("YYYYMMDDHHMMSS", 2, "\1")); echo $annee1.$annee2."/$mois/$jour $heure:$minute:$seconde";
merci , en fait voici la partie du code que je desire afficher , et je ne sais pas trop ou mettre le script que tu m'as donnée
Ou $col[3] est la date avec timestamp14
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "message ecrit le ".$col[3]."";
utilise la fct date pour avoir la bonne syntaxe :
$chaine = date(String Format, [int Timestamp]);
si je mets :
ca m'affiche rien , alias : page blanche donc ca marche pas , je dois surement pas faire juste$col[3] = date(String Format, [int Timestamp]); return $col[3];
faut reflechir un peu
je t'ai donné la syntaxe pas la solution.
date(String Format, [int Timestamp]);
String Format : c'est le format que tu souhaites
timestamp : met la valeur du timestamp (option facultative, si tu ne la mets pas alors tu affichera le temps courant)
exemple :
$timestamp = 267882348;
echo date('Y:m:d H:i:s', $timestamp);
affichera > 1978:06:28 13:45:48
voila j'ai fais
mais j'obtiens ceci :
alors que nous sommes le 11mais 2006 vers 18H152038:01:19 04:14:07
tu as fais exactement le code que j'ai fait?
car je viens de le tester et il maffiche ce que javais dis;
montre ton code
voila le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo date('Y:m:d H:i:s', $col[3]); ?>
C'est normal que la soluce de rbaatouc ne fonctionne pas, car nous n'avons pas à faire ici avec un timestamp unix...
le timestamp unix donne le nombre de secondes depuis le 01-01-1970, ce qui n'est pas ton cas.
Voici ma propal:
qui marche tout aussi bien que celle de Fladnag en fait...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $col = "20060508130628"; echo preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "$1-$2-$3 $4:$5:$6", $col);
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
merci mille fois!
cela fonctionne effectivement !
merci
désolé javais pas vu que tu nutilisais pas le timestamp unix
ben ça pourra te servir un jour peut etre de le savoir
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager