[RESOLU] Changer format date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Changer format date

Re: [RESOLU] Changer format date

par Saian » 09 mars 2021, 10:15

Salut, fonction setlocale mais il faut avoir une locale fr sur le serveur. Y a des détails dans les commentaires de la doc.
https://www.php.net/manual/fr/function.setlocale.php

Re: [RESOLU] Changer format date

par Baloo-lou » 09 mars 2021, 01:34

Ce qui correspond à "08 March 2021 à 23h30"

Re: [RESOLU] Changer format date

par Beloo-lou » 09 mars 2021, 01:31

Est-ce que tu sais s'il y a une traduction fr possible avec cette fonction ? j'ai pu lire que non mais je trouve ça étonnant.

J'ai voulu changer le format de cette manière mais forcement c'est en anglais :

Code : Tout sélectionner

<div class="chapeau">@ <b>'.$row["comment_sender_name"].'</b></div><div class="white"><i>'.date('d F Y \à H\hi', strtotime($row['date'])).'</i></div>

Re: [RESOLU] Changer format date

par Saian » 07 mars 2021, 01:46

Quand on écrit un code comme ça sans le tester, ça arrive de faire des petites erreurs de syntaxe et c'est quand même la base de savoir les corriger quand tu l'intègres dans ton fichier. :P

Le point virgule j'ai pas jugé nécessaire de le mettre et le $ bah oui je l'ai oublié. :oops:

Content d'avoir pu t'aider.

Re: Changer format date

par Baloo-lou » 07 mars 2021, 01:23

Bonsoir,

Alors avec echo $row['date'] j'avais une erreur de syntaxe mais j'ai quand même essayé :

(new DateTime(row['date']))->format('d/m/Y'); ==> J'avais plusieurs messages d'erreurs

et

date('d/m/Y', strtotime($row['date'])); ==> Fonctionne parfaitement

Je ne savais pas ce qu'était "strtotime" du coup j'ai cherché sur internet donc je ne te demande pas de me faire un cours ^^

Merci d'avoir prit le temps de m'aider, la date s'affiche comme je le souhaite. Je passe le sujet en résolu. Merci !

Re: Changer format date

par Saian » 06 mars 2021, 18:37

Salut, que te donnes un echo $row['date']; ?

En tout cas 2021-03-06 00:55:21 ça ressemble plus à un datetime qu'à un timestamp. Peut être ton gestionnaire de base de données fait la conversion à l'affichage ?

Si le echo affiche une date de la forme 2021-03-06 00:55:21, tu peux tenter :
date('d/m/Y', strtotime($row['date']));
// ou
(new DateTime($row['date']))->format('d/m/Y');

Re: Changer format date

par Baloo-lou » 06 mars 2021, 02:01

J'ai cette ligne quand j'édite un message dans ma base de donnée, je ne sais pas si c'est de ça que tu me parles ?

date timestamp 2021-03-06 00:55:21

Re: Changer format date

par Baloo-lou » 06 mars 2021, 01:35

Je n'ai pas trouvé les timestamps dont tu me parles en base de donnée et je ne comprends pas bien ce que ça ferait de les tester..

Re: Changer format date

par Saian » 04 mars 2021, 12:29

Par contre la date affichée est 01/01/1970.

Ai-je mal fait quelque chose ?
Il doit y avoir un problème avec le timestamp. Normalement d'après le create table il devrait être égale au current timestamp lors de l'insertion de la ligne étant donné que tu ne sembles pas le définir toi même dans la requête d'insertion. Tu peux vérifier les timestamps que tu as en base de données, par exemple avec cette page http://www.timestamp.fr/? où tu pourras tester tes timestamps pour voir à quelle date ils correspondent.

Re: Changer format date

par Ryle » 04 mars 2021, 10:49

Re: Changer format date

par Baloo-lou » 04 mars 2021, 02:24

J'aimerai bien savoir le faire en sql aussi, j'ai essayé d'incorporer

Code : Tout sélectionner

SELECT DATE_FORMAT("2018-09-24", "%D %b %Y"); -- résultat : "24th Sep 2018"
mais sans résultat..
Je fatigue peut-être ^^

En tous cas tu m'as apporté beaucoup de solutions, je vais réessayer tout ça demain, j'y verrai peut-être plus clair. Encore merci

Re: Changer format date

par Baloo-lou » 04 mars 2021, 02:18

Merci pour ton aide,

J'ai donc mis

Code : Tout sélectionner

<div class="chapeau">@ <b>'.$row["comment_sender_name"].'</b></div><div class="white"><i>'.date('d/m/Y', $row['date']).'</i></div>
Déjà je te remercie car enfin il y a du changement, ça fait longtemps que j'essaie des choses.
Par contre la date affichée est 01/01/1970.

Ai-je mal fait quelque chose ?

Re: Changer format date

par Saian » 04 mars 2021, 01:36

Les exemples sont tout de même assez explicites. Dans ton code, là où tu affiches la date ça donnerait quelque chose comme ça :
date('d/m/Y', $row['date'])
avec $row['date'] qui contient le timestamp.

Et si tu tiens à utiliser DateTime, directement dans la concaténation (le $output .= ...) :
(new DateTime())->setTimestamp($row['date'])->format('d/m/Y')

Re: Changer format date

par Baloo-lou » 04 mars 2021, 01:31

Merci pour ta réponse. Alors j'avais déjà lu ces manuels mais je n'ai pas réussi à les incorporer à mon code.

Mon dernier test avec la fonction Datetime ressemblait à ça :

Code : Tout sélectionner

<?php //add_comment.php $connect = new PDO(''); $error = ''; $comment_name = ''; $comment_content = ''; $email = ''; $date = new DateTime('01-01-2000'); echo $date->format('d-m-Y H:i:s'); if(empty($_POST["comment_name"])) { $error .= '<p class="text-danger"></p>'; } else { $comment_name = $_POST["comment_name"]; } if(empty($_POST["comment_content"])) { $error .= '<p class="text-danger"></p>'; } else { $comment_content = $_POST["comment_content"]; } if(empty($_POST["email"])) { $error .= '<p class="text-danger"></p>'; } else { $email = $_POST["email"]; } if($error == '') { $query = " INSERT INTO tbl_comment (parent_comment_id, comment, comment_sender_name, email) VALUES (:parent_comment_id, :comment, :comment_sender_name, :email) "; $statement = $connect->prepare($query); $statement->execute( array( ':parent_comment_id' => $_POST["comment_id"], ':comment' => $comment_content, ':comment_sender_name' => $comment_name, ':email' => $_POST["email"] ) ); $error = '<label class="validation">Ton message a bien été envoyé !</label>'; } $data = array( 'error' => $error ); echo json_encode($data); ?>
ça ne fonctionnait pas

Re: Changer format date

par Saian » 04 mars 2021, 01:26

D'ailleurs il y a également la fonction strftime. C'est une autre syntaxe pour le format, similaire à celle du date_format sql. ^^
https://www.php.net/manual/fr/function.strftime.php