Page 1 sur 1

date et format

Posté : 29 oct. 2013, 23:48
par blinz
Bonjour,

J'ai créer une base de données dans laquelle j'ai une table avec des articles (id, name, text, et mon problème en question : date).
J'aimerais tout simplement convertir ce format en date fr c'est à dire que ça s'affiche: 29 OCT 2013.

Merci à tous ceux qui m'aideront:

la ligne ou se trouve mon appelle à mes dates:
<td width="96"><div class="annonces_date"><?php echo $loisirs['date'];?></div></td>

Re: date et format

Posté : 30 oct. 2013, 01:43
par Genova
De quel type est ton champ date dans ta base de donnée ? C'est un INT ou un DATETIME ?

Re: date et format

Posté : 30 oct. 2013, 11:28
par blinz
Salut,

Oui effectivement j'aurais pu le préciser mon champ est en: DATE.
DATE, uniquement je n'ai pas besoin du datetime.

Qand je fait appel via mon echo les date que j'ai rentré dans ma bdd s'affiche au format US, et je souhaite les passer dans ce format la : 30 OCT 2013.
Merci de votre aide.

Re: date et format

Posté : 30 oct. 2013, 11:33
par damien_55
Slt,

tu peux nous donner un exemple de date que tu stockes dans ta bdd. Merci.

Re: date et format

Posté : 30 oct. 2013, 11:40
par blinz
Image

Donc en gros la ce sont mes requête et toute la clik ;)
?php
//******PARAMETRE DE CONNEXION*********
include("conndb.php");
include("select.php");

$departement = '-1';
if(isset($_GET['departement']) && !empty($_GET['departement'])){
	$departement = $_GET['departement'];
}
$loisir = '-1';
if(isset($_GET['loisir']) && !empty($_GET['loisir'])){
	$loisir = $_GET['loisir'];
}

$requete="SELECT * FROM loisirs where 1=1";
if($departement != -1){
	$requete .= " and id_departements = ".$departement;
}
if($loisir != -1){
	$requete .= " and id_type_loisirs = ".$loisir;
}
$resultat=mysql_query($requete);
?>
et la ligne ou je fé appel à mes dates:
<td width="59"><div class="annonces_date"><?php echo $loisirs['date'];?></div></td>
PS: Est ce que ça peut entrainer des problèmes le fait que j'ai nommé mon champ date ?

Re: date et format

Posté : 30 oct. 2013, 12:47
par orenx22
Bonjour,

Je t'invite à utiliser la classe DATETIME.
<?php

$day = array(
    'dimanche',
    'lundi',
    'mardi',
    'mercredi',
    'jeudi',
    'vendredi',
    'samedi'
);

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

function dateformat( $date, $day, $month )
{
    $date = new DateTime( $date, new DateTimeZone( 'Europe/Paris' ) );
    
    $w = $day[$date-> format( 'w')];
    
    $d = $date-> format( 'd' );
    
    $n = $month[$date-> format( 'n' )-1];
    
    $y = $date-> format( 'Y' );
    
    return "$w $d $n $y" ;
}

?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Titre de la page</title>
    </head>
    <body>
        
        <span><?php echo dateformat( '01/18/2014', $day, $month ); ?></span>
        
    </body>
</html>
source :
http://php.net/manual/fr/class.datetime.php
http://us1.php.net/manual/fr/function.date.php

Tu peux également jouer avec la requête sql pour récupérer les informations séparément au niveau de la date.
SELECT *,DAY(date) AS jour, MONTH(date) AS mois, YEAR(date) AS annee FROM table
source :
http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html

Ciao

Re: date et format

Posté : 30 oct. 2013, 13:13
par blinz
Je ne vois pas trop comment procéder pour intégrer ça dans mon code et je veux bien utiliser le champ DATETIME mais je veux comprendre pourquoi étant données que l'heure m'importe peu.
Je fait appel à mes dates uniquement avec ma ligne
 <td width="59"><div class="annonces_date"><?php echo  $loisirs  ['date_sorties'  ];?></div></td>
Dsl, mais étant débuter je bloque vraiment dessus, merci de votre aide encore.

Re: date et format

Posté : 30 oct. 2013, 13:30
par sirakawa
La fonction date de php permet de formater à volonté un temps/date exprimé sous forme de time stamp (type qui existe en mysql) :
http://dev.mysql.com/doc/refman/5.0/fr/ ... p-4-1.html
mktime(0, 0, 0, 7, 1, 2000)); pour passer d'une date civilisée à un time stamp : http://www.php.net/manual/fr/function.mktime.php

Re: date et format

Posté : 30 oct. 2013, 13:38
par blinz
bon très franchement je comprend pas trop, termes trop technique pour moi, je vais voir si je peut pas trouver quelques chose d'équivalent en js ou autre.
Merci

Re: date et format

Posté : 30 oct. 2013, 14:03
par blinz
Bon vu que mes dates en fait sont uniquement à titre d'info j'ai passer mon champ en VARCHAR, au mois pas besoin de me prendre la tête pour si peu.
C'est pas dans les règles de l'art mais ça marche. Problème résolu.

Re: date et format

Posté : 30 oct. 2013, 14:19
par sirakawa
Mieux vaut prévoir que les dates serviront peut-être un jour....

Mais non.
Tu crées comme tu as l'habitude.
Tu obtiens un truc du genre 2012-6-1
<?PHP
date_default_timezone_set("Europe/Paris");
$noms_des_jours =
array (
1=>"lundi",
2 =>"Mardi",
3=>"Mercredi",
4 =>"Jeudi",
5 =>"Vendredi",
6 => "Samedi",
7 => "Dimanche");

$noms_des_mois = array(
1=>"janvier",
2=>"février",
3 =>"mars",
4 =>"avril",
5=>"mai",
6 =>"juin",
7 =>"juillet",
8 =>"août",
9 =>"septembre",
10 =>"octobre",
11 =>"novembre", 
12=>"décembre",
);

/*Conversion la plus simple en timestamp (nombre de secondes depuis le premier janvier 1001*/

$dt= "2012-06-31";
$ts = strtotime($dt);
print "timestamp $ts";

/*Identification du jour*/
$nj = date("N", $ts); //extraction du numéro du jour dans la semaine
print "nume du jour $nj";
 $nom_jour = $noms_des_jours[$nj];
 print "nom du jour $nom_jour";
 
 $nm =date("n", $ts); //extraction du numéro du mois
print "num du mois $nm";
 $nom_mois = $noms_des_mois[$nm];
 print "nom du mois $nom_mois";
  ?>

Re: date et format

Posté : 30 oct. 2013, 14:25
par yann18
setlocale(LC_TIME, 'fr_FR.UTF-8');
 
     
$date = '2013-10-30';
echo strftime('%A %d %b %Y', strtotime($date)); // mercredi 30 oct. 2013
la seule difficulté avec la function strftime() est d'identifier la LC_TIME de ton OS qui peux s'obtenir avec la commande locale(sous linux)