Fonctions de modification de dates

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 276 fois - Téléchargée 31 fois

Contenu du snippet

Ces fonctions servent a modifier le format des dates genre dd/mm/yyyy en yyyy-mm-dd; jj/mm/aaaa hh:mm en aaaa-mm-jj hh:mm

Source / Exemple :


function ChangeDateHeure ($DateHeure) // prend une date/heure format postgres (2001-07-04 14:30:20+02)
                                      // et la renvoie au format : jj/mm/aaaa hh:mm
{
    $Annee = substr ($DateHeure, 0, 4) ;
    $Mois = substr ($DateHeure, 5, 2) ; 
    $Jour = substr ($DateHeure, 8, 2) ;
    
    $Heure = substr ($DateHeure, 11, 2) ;
    $Minute = substr ($DateHeure, 14, 2) ;
    
    return "$Jour/$Mois/$Annee $Heure:$Minute" ;
} // ChangeDateHeure ()

function ReverseDateHeure ($_dateHeure) // Prend une date/heure au jj/mm/aaaa hh:mm 
{                                       // et la renvoie au format postgres (aaaa-mm-jj hh:mm)
	$jour   = substr ($_dateHeure, 0, 2);
	$mois   = substr ($_dateHeure, 3, 2);
	$annee  = substr ($_dateHeure, 6, 4);
	$heure  = substr ($_dateHeure, 11, 2);
	$minute = substr ($_dateHeure, 14, 2);

	return $annee . "-" . $mois . "-" . $jour . " " . $heure . ":" . $minute;

} // ReverseDateHeure ()

} // fin definition fonction
  // define FCT_BRICABRAC

function ChangeDate ($Date) // prende un date au format yyyy-mm-dd et la transorme en dd/mm/yyyy ou ""
{
    if ($Date == '')
        return '' ;

    $Annee = substr ($Date, 0, 4) ;
    $Mois = substr ($Date, 5, 2) ;
    $Jour = substr ($Date, 8, 2) ;

    return $Jour . "/" . $Mois . "/" . $Annee ;
    
} // ChangeDate   ()

function ReverseDate ($Date) // prend un date au format dd/mm/yyyy
               // (le jour et le mois peuvent avoir une taille de 1 caractère)
               // (l'année peut avoir une taille de 2 caractères)
               // et la transforme en 'yyyy-mm-dd' ou NULL
{ 
    if ($Date == '')
        return 'NULL' ;
    
    list ($Jour, $Mois, $Annee) = split('[-./]', $Date) ;
    
    if (strlen ($Jour) == 1)
    {
      $Jour = '0' . $Jour ;
    }
    
    if (strlen ($Mois) == 1)
    {
      $Mois = '0' . $Mois ;
    }
    
    if (strlen ($Annee) == 2)
    {
      $Annee = '20' . $Annee ;
    }    

    return "'" . $Annee . "-" . $Mois . "-" . $Jour . "'" ;
    
} // ReverseDate   ()

A voir également

Ajouter un commentaire Commentaires
olixelle
Messages postés
506
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
2
5 juil. 2005 à 20:23
si t pas familié avec les regexpr, utilise les splits :)
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
3 juil. 2005 à 01:07
oui, en gros, avec les expregs, ça ferais une source de six lignes...
malik7934
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
1 juil. 2005 à 13:43
Hello,

Juste pour info, tu aurais pu te simplifier un peu la vie avec ereg je pense...

Par exemple, ce bout de code:

function retdate($date){
if (ereg ("([0-9]{2,4})/-([0-9]{2,4})/-([0-9]{2,4})", $date, $regs)) {
echo $regs[1].' '.$regs[2].' '.$regs[3];
}
}
retdate('2005-07-06');
echo '
';
retdate('2005/07/06');
echo '
';
retdate('06/07/2005');
echo '
';
retdate('06-07-2005');

te donne
2005 07 06
2005 07 06
06 07 2005
06 07 2005
... voila... ++ Malik7934

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (nagrom_om)