php & mysql : problème affichage date

php & mysql : problème affichage date - Programmation

Marsh Posté le 23-09-2001 à 16:30:26    

Salut à tous, j'ai un petit problème, quand je fait :
echo date("<NO\BR>d/m/Y</NO\BR> <NO\BR>H:i:s</NO\BR>",$arr2[STAMP]);
J'obtiens comme affichage dans le navigateur :  
01/01/1970 01:33:21
quel que soit la valuer de $arr2[STAMP]
Quand je fais  
echo $arr2[STAMP];
c'est la bonne valeur qui est affiché. Pourquoi le première syntaxe marche pas et comment puije y remédier?

Reply

Marsh Posté le 23-09-2001 à 16:30:26   

Reply

Marsh Posté le 23-09-2001 à 16:45:09    

j'ai oublier de préciser, la variable $arr2, c'est une ligne du résultat d'un requête SQL (sur un serveur MYSQl) et STAMP, c'est le nom d'un champ date.
Merci d'avance pour votre aide.

Reply

Marsh Posté le 23-09-2001 à 18:45:52    

sûrement parce que ta syntaxe ressemble à celle d'un territoire inconnu. exemples sur php.net :
 
$today = date("F j, Y, g:i a" );                 // March 10, 2001, 5:16 pm
$today = date("m.d.y" );                         // 03.10.01
$today = date("j, m, Y" );                       // 10, 3, 2001
$today = date("Ymd" );                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ';);  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.';);   // It is the 10th day.
$today = date("D M j G:i:s T Y" );               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h';);     // 17:03:17 m is month
$today = date("H:i:s" );                         // 17:16:17
 
commence déjà par un truc simple ... et c'est quoi ces </no/br> ??

Reply

Marsh Posté le 23-09-2001 à 19:04:08    

Les </no\br> servent à empêcheer un retour à la ligne entre deux morceaux de texte.
C'est pour être sur que le retour à la ligne se fasse exactement à l'endroit que je veux.
En épurant le code, ca donne :
echo date("d/m/Y H:i:s",$arr2[STAMP]);  
Même comme ça, ca marche pas. j'ai l'impression que le problème viens du fait que la fonction date n'arrive pas à "lire" la valeur contenue par la variable $arr2[STAMP] .

Reply

Marsh Posté le 23-09-2001 à 19:08:36    

le deuxième champ ça doit être un timestamp (tps Unix...) => juste pour préciser au cas où...
 
et autrement y'a un truc plutot bizarre... t'as pas d'erreur de syntaxe ?
 
essaie : $arr2['STAMP'];

Reply

Marsh Posté le 23-09-2001 à 19:35:36    

petit test rapide, chez moi  
 
echo date("\<\N\O\B\R\>d/m/Y\<\/\N\O\B\R\> \<\N\O\B\R\>H:i:s\<\/\N\O\B\R\>", 1000000000);
 
produit dans la source
 
<NOBR>09/09/2001</NOBR> <NOBR>03:46:40</NOBR>
 
et affiche  
 
09/09/2001 03:46:40

 

[edtdd]--Message édité par youdontcare--[/edtdd]

Reply

Marsh Posté le 23-09-2001 à 19:47:46    

Ca y est, j'ai compris.
En fait, la variable $arr2[STAMP] commence par 2001- (suivit du reste de la date et de l'heure).
La fonction date transforme le texte en nombre ce qui donne 2001 ce qui corresponds au 01/01/1970 01:33:21 .
Existe t'il une fonction pour transformer une date au format texte en un timestamp ?

Reply

Marsh Posté le 23-09-2001 à 19:56:02    

Reply

Marsh Posté le 23-09-2001 à 20:05:06    

Merci, Youdontcare, en définitive, je me suis mal exprimé. j'ai doncc à la sortie de Mysql une date sous la forme  
YYYY-MM-DD HH:MM:SS
J'espérer qu'il existe une fonction qui prennent cette date et la transforme sous la forme d'un time stamp.
Sans ça, je devrais m'en faire une à coup de substr.

Reply

Marsh Posté le 23-09-2001 à 20:33:19    

omega2 a écrit a écrit :

Merci, Youdontcare, en définitive, je me suis mal exprimé. j'ai doncc à la sortie de Mysql une date sous la forme  
YYYY-MM-DD HH:MM:SS
J'espérer qu'il existe une fonction qui prennent cette date et la transforme sous la forme d'un time stamp.
Sans ça, je devrais m'en faire une à coup de substr.  



chacun ses goûts. lorsque j'avais besoin de la même fonctionnalité, je n'ai trouvé que mktime(), et j'y suis allé à coups d'explode() :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed