Rechercher : dans
Par :

PHP Afficher une date différament

Dernière réponse le 14 aoû 2009 à 11:04:40 Samz, le 7 sep 2007 à 16:41:51 
 Signaler ce message aux modérateurs

Salut tout le monde,

J'aimerait convertir une date de format aa/mm/jj en format jj, nom du mois en lettre et année

Exemple : 2007-09-08 donnerait 8 Sept. 2007 ou 8 septembre 2007

Quelqun peut m'aider?

Merci

Configuration: Windows XP
Firefox 2.0.0.6

Meilleures réponses pour « PHP Afficher une date différament » dans :
[PHP] Date de dernière modification Voir Grâce à PHP il est possible d'afficher automatiquement la date de dernière modification de la page en cours : ...
[Webmaster] Afficher facilement le code php/xhtml de vos pages VoirSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
Vérifier le format d'une date en PHP VoirIl existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au...
[PHP] Comment afficher l'adresse IP d'un visiteur ? VoirPour afficher l'adresse IP d'un visiteur sur votre site, insérez ce code dans la zone où vous voulez qu'elle s'affiche.
PHP - Affichage de texte sur le navigateur VoirLe but de PHP est de permettre la création de pages web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur. Les trois fonctions standards PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

thifoolish, le 7 sep 2007 à 17:11:16

Bonjour,

La doc php téléchargeable sur nexen.net donne toutes les informations nécessaires sans avoir besoin d'être connecté au web...
Il faut regarder les fonctions qui tournent autour de date() et de la configuration locale de votre serveur.

date("H:i:s"); renvoie par l'heure actuelle sous la forme hh:mm:ss
Il s'agit de faire pareil avec les options désirée de la fonction date.

Pour les obtenir sans avoir à traduire, set_locale() est une fonction à regarder de près.

Cordialement. On ne court jamais assez vite derrière le Temps.
C'est pour cela qu'on devient trop vieux avant d'avoir vécu.

Répondre à thifoolish

2

Samz, le 7 sep 2007 à 22:30:48

En fait j'esperait plutôt avoir un script pré conçu fonctionnel.

J'ai fait plusieurs recherche sur internet sans trouver exactement se que je voulais.

Merci

Répondre à Samz

3

vignemail1, le 8 sep 2007 à 22:01:50

Setlocale(LC_TIME, "fr", "fra", "french", "fr_FR");
$datetime = strptime("2007-09-08", "%Y-%m-%d");
$timestamp = mktime(0,0,0,$datetime["tm_mon"], $datetime["tm_mday"], $datetime["tm_year"]);
$final_complet = strftime("%d %B %Y", $timestamp); // 8 septembre 2007
$final_abrege = strftime("%d %b %Y", $timestamp); // 8 sept. 2007

Script sous à condition car la fonction strptime ne semble pas dispo (j'ai ouïe dire) sous PHP version Windows et est seulement dispo à partir de PHP 5.1.0RC1.
De plus, si seul les noms des jours et des mois en anglais sont nécesaire, on peut remplacer strftime par un date(...)

Répondre à vignemail1

4

thifoolish, le 8 sep 2007 à 22:18:23

Bonsoir,

Comment va-t-il apprendre si vous lui mâchez le travail...
De toute manière, 80% des gens utilisent windows chez eux... même si linux, avec une debian, est un système bien plus stable...
Donc il va continuer à avoir un problème, notre ami... s'il a windows sur son ordinateur...

@ + On ne court jamais assez vite derrière le Temps.
C'est pour cela qu'on devient trop vieux avant d'avoir vécu.

Répondre à thifoolish

5

Samz, le 10 sep 2007 à 15:39:03

En effet, tu as deviné , je suis un utilisateur de windows ;)... La fonction ne semble pas marcher. Vu ma grande hâbileter à créer des fonctions en php(un peu de sarcasme). Je risque de garder mon problème très longtemps. Je continu mes recherches.

Répondre à Samz

6

Didoch54000, le 10 sep 2007 à 15:58:35
  • +1

J'ai eut le meme souci dans une application que j'ai develloppé au sein du site intranet de mon entreprise : Voila le type de script que j'ai mis en place adapte le :

//Tranformation de la date en Francaise
$Year =substr($Date,7,4);
$Month=substr($Date,0,3);
$Day  =substr($Date,4,2);

switch($Month)
  {
  case "Jan":
    $Month = "01";
	break;
  case "Feb":
    $Month = "02";
	break;
  case "Mar":
    $Month = "03";
	break;
  case "Apr":
    $Month = "04";
	break;
  case "May":
    $Month = "05";
	break;
  case "Jun":
    $Month = "06";
	break;
	case "Jul":
    $Month = "07";
	break;
  case "Aug":
    $Month = "08";
	break;
  case "Sep":
    $Month = "09";
	break;
  case "Oct":
    $Month = "10";
	break;
  case "Nov":
    $Month = "11";
	break;
 case "Dec":
    $Month = "12";
	break;
 
  }

  $Date =$Day."/".$Month."/".$Year;
//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;
	}
	$Heure=$hour.":".$min.":".$sec;


En esperant que cela t'aidera

Répondre à Didoch54000

7

vignemail1, le 23 sep 2007 à 08:22:42

Setlocale(LC_TIME, "fr", "fra", "french", "fr_FR");
$timestamp = strtotime("2007-09-08");
$final_complet = strftime("%d %B %Y", $timestamp); // 8 septembre 2007
$final_abrege = strftime("%d %b %Y", $timestamp); // 8 sept. 2007

Répondre à vignemail1

8

PhP, le 23 sep 2007 à 09:44:19

Bjr

N'ayant pas PHP 5, je ferais comme ça :

<html>
<body>
<?php

$month_fr = array("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");

$day_fr = array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");

// $aaaammjj doit être une chaîne au format "AAAA-MM-JJ" ou "AAAA/MM/JJ" mais toujours avec un séparateur
function madate_timestamp($aaaammjj)
{
	$ar = explode(substr($aaaammjj,4,1),$aaaammjj);
	return mktime(0, 0, 0, $ar[1], $ar[2], $ar[0]);
}

function madate_perso($aaaammjj)
{
	global $month_fr,$day_fr;
	$ts = madate_timestamp($aaaammjj); 
	$ar  = getdate($ts);

	return $day_fr[$ar["wday"]]." ".$ar["mday"]." ".$month_fr[$ar["mon"]-1]." ".$ar["year"];
}

$aaaammjj="2007-09-23";
echo  $aaaammjj.' -> '.madate_perso($aaaammjj); 
?>
</body>
</html>


voilà PhP  
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...

Répondre à PhP

10

 paco, le 14 aoû 2009 à 11:04:40

bonjour,

Cela fait 2 jours que je cherchais comment mettre ma date recupérée avec Mysql en lettre, et voila que je tombe sur ton bout de code super efficace qui a resolu avec perfection mon probleme.
2007-2009 : les années passent mais php est toujours la ^^

Merci

Répondre à paco

9

Therapy, le 2 jui 2008 à 14:01:50

Bonjour,

moi je créerais un fichier nommer : time.php ( sauf si tu sais ou le mettre dans un de tes fichiers... Ok ... )

Mettre sa en première ligne par exemple :

$parse['time'] = 'Nous sommes le '.date('j/m/Y').' et il est '.date('H \H i : s');

Ensuite créer un fichier nommer : time.tpl

Mettre sa en première ligne par exemple :

{Server_time}

Enfin , créer un fichier : time.mo

Mettre sa en première ligne par exemple :

$lang['Server_time'] = 'Heure';


J'espère que je n'ai pas fais d'erreur ... En tout cas moi sa marche ...

Répondre à Therapy