IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Conversion datetime en date fra [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut Conversion datetime en date fra
    Bonjour a tous je me remet encore une fois à vos connaissances,

    J'ai dans une base mssql un champs qui a comme fomat datetime,lors de ma requete et affichage je me retrouve avec une date du type:
    Jan 1 2007 01:46:12:000PM
    Moi j'aimerai avoir
    01 Janvier 2007 dans $date
    et
    13:46:12 dans $Heure
    Cependant je bloque un peu , j'ai parcouru pas mal de forum et de tuto sur le web pour trouver une piste ou mon bonheur mais rien ne correspond a mon besoin...
    Merci pour votre aide
    Bien a vous,

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Tu dois faire un setlocale avant de récupérer ton format de date.

    Regarde la doc de setlocale.

    A+
    K

  3. #3
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    La méthode setlocale() ne marche pas sur tous les serveurs.
    Il est plutot conseillé de transformer la chaine récupérée depuis mssql en un timestamp (nombre de secondes écoulées depuis un temps UNIX) et d'afficher ensuite la date et l'heure.
    Regardes du coté de strtotime() il acceptera peut etre le format directement depuis une colonne datetime de mssql.

    Ensuite tu as ce code :convertir une date anglaise en francais

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    Je vais me pencher sur la question merci de pour ton info.

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    Je n'arrive pas a faire fonctionner le set locale il me dit que j'ai trop d'arguments, mais voila un petit truc de mon cru ( je trouve ca un peu bancale dites moi ce que vous en pensez)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    while($numRows = mssql_fetch_array($result))
    	{
    		$Salarie  = $numRows['OID_SALARIE_'];
    		$Personne = $numRows['PERSONNE_'];
    		$Matricule= $numRows['MATRICULE_'];
    		$Date     = $numRows['DATE_DHMS_'];
    		$Heure    = $numRows['DATE_HEURE_'];	
     
    	if (ereg ("([0-9]{4})([0-9]{1,2})([0-9]{1,2})", $Date, $regs))
    	{
    		$Date=$regs[3]."/".$regs[2]."/".$regs[1]."<BR>";
    	}
     
    	echo$Heure."<BR>";
     
    	$Heure=substr($Heure,12,14);
     
    	list($hour, $min, $sec, $am_pm) = explode(":", $Heure);
    	$am_pm=substr($am_pm,3,2);
    	if($am_pm =="PM")
    	{
    		if($hour!=12 or $hour!=00)
    		{
    			$hour=$hour+12;
    		}	
    		echo($hour."<br>");
    	}
    	$Heure=$hour.":".$min.":".$sec;
     
    	    $donnees="<TR align=\"center\">
    				<TD>".$Matricule."</TD>\r\n
    				<TD>".$Date."</TD>\r\n
    				<TD>".$Heure."</TD>\r\n";	
    		$message.=$donnees;
     
    	}
    A mon avis ca fait un peu macbidouille et je test la fiabilité de mon code , si vous avez des remarques ou un exemple concret du setlocale ,
    Merci

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    Bon ba voici mon code final si cela interresse quelq'un j'ai mis des commentaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    //Extrait hh:mm:ss
    	$Heure=substr($Heure,12,14);
    //Liste les données
    	list($hour, $min, $sec, $am_pm) = explode(":", $Heure);
    //Extrait si PM ou AM
    	$am_pm=substr($am_pm,3,2);
    //Si am_pm=PM et heure est diff de 12
    	if($am_pm =="PM" && $hour!=12)
    	{
    		$hour=$hour+12;
    	}	
    	elseif ($am_pm=="AM" && $hour==12)
    	{
    		$hour=$hour-12;
    	}
    			echo($Heure." => ".$hour.$am_pm."<br>");
    	$Heure=$hour.":".$min.":".$sec;
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008] Conversion d'une date au format datetime
    Par kluh dans le forum Développement
    Réponses: 6
    Dernier message: 02/06/2015, 22h06
  2. Conversion DATETIME en DATE
    Par VLDG dans le forum SQL
    Réponses: 1
    Dernier message: 15/04/2007, 00h21
  3. [date] conversion d'une date et compatibilité access
    Par WriteLN dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/01/2005, 14h03
  4. [CR] pb (concaténation/Conversion/Addition) sur date/heure
    Par marvel dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 20/12/2004, 15h31
  5. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo