Retirer le 0 sur le jour d'une date

Eléphanteau du PHP | 34 Messages

08 juil. 2007, 13:56

Voila j'ai cette fonction la :
// Fonctions pour l'heure en FR
function DateFR1 ($texte) {
	list($date, $time) = explode(" ", $texte);
	list($year, $month, $day) = explode("-", $date);
	list($hour, $min, $sec) = explode(":", $time);
	$months = array("janvier", "février", "mars", "avril", "mai", "juin",
		"juillet", "août", "septembre", "octobre", "novembre", "décembre");
	$texte = "$day ".$months[$month-1]." $year  à ${hour}h${min}";
	
	return $texte;
}
Qui m'affiche donc : le 08 juillet 2007 à 13h36

mais j'aimerai retirer le 0 de 08.

comment je peux faire ?

Mammouth du PHP | 959 Messages

08 juil. 2007, 14:30

je pense que tu devrais essayer de le faire avec le str_replace()
str_replace('0','',$day)
:wink:


sa devrai donner un truc comme sa...
(débogue si il y a des bogues) :wink:
// Fonctions pour l'heure en FR
function DateFR1 ($texte) {
    list($date, $time) = explode(" ", $texte);
    list($year, $month, $day) = explode("-", $date);
    list($hour, $min, $sec) = explode(":", $time);
    $months = array("janvier", "février", "mars", "avril", "mai", "juin",
        "juillet", "août", "septembre", "octobre", "novembre", "décembre");
    $texte = str_replace('0','',$day).$months[$month-1].' '.$year.' à '.${hour}h${min};
    
    return $texte;
} 
Modifié en dernier par chrislabricole le 08 juil. 2007, 14:34, modifié 1 fois.

ViPHP
ViPHP | 1996 Messages

08 juil. 2007, 14:32

Utilise substr() si $day est inférieur à 10:
if ($day < 10) $texte = substr ($texte,1);
mais il y a d'autre possibilité.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Mammouth du PHP | 959 Messages

08 juil. 2007, 14:44

oh oui, il y en a plein d'autres...

Je ne sais pas la quelle est la meilleure entre la tienne (Aureusms) et la mienne :lol: :D

Eléphanteau du PHP | 34 Messages

08 juil. 2007, 14:52

C'est bon ca fonctionne merci.

Invité
Invité n'ayant pas de compte PHPfrance

08 juil. 2007, 15:07

> (débogue si il y a des bogues)

pour les 10, 20 et 30, on se retrouve respectivement les 1, 2 et 3

( sauf si qque chose m'a échappé, et dans ce cas je présente mes excuses )

Mammouth du PHP | 959 Messages

08 juil. 2007, 15:37

à oui mince :( ben tu fais un if ! :D

ViPHP
ViPHP | 5924 Messages

08 juil. 2007, 15:45

Pourquoi pas remplacer par ca plutôt ?
preg_match('/(\d{4})-0?(\d)-0?(\d) (\d{2}):(\d{2}):(\d{2})/', $texte, $matches);
list($year, $month, $day, $hour, $min, $sec);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 juil. 2007, 16:54

sinon formater depuis la source (SQL) avec date_format() et la bonne option (%e)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute