Bonjour,
Je reviens encore avec un problème de gestion de date
Je suis en train d'écrire une petite portion de code pour gérer l'affichage d'une date vers un format plus "confortable" visuellement.
Quelques exemples d'affichages :
- Aujourd'hui à 15h25 (il me manque l'heure dans mon code)
- Hier à 03h07 (il me manque l'heure dans mon code)
- Il y a 2 jours (forcement avec un 's' à la fin)
- Il y a 1 an (s si plusieurs années)
- Il y a 3 minutes (inutile de préciser les secondes)
- Il y a 34 secondes
- Il y a 2 heures (inutile de préciser les minutes)
- Il y a 2 mois (inutile de préciser les jours)
J'ai commencé à écrire une portion de code mais j'ai un problème avec "aujourd'hui" et "hier" Je n'ai jamais le bon if qui s'affiche..
exemple pour le 2016-02-23 23:30:49 j'ai le if Aujourd'hui qui s'affiche alors que normalement c'est hier le 23/02..
autre question, comment rajouter l'heure à "aujourd'hui" et "hier" ?
Je vous remercie pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <?php $diff = (new \DateTime())->diff(new \DateTime('2016-02-23 23:30:49')); if ($diff->d == 0){ $date_formatee = "aujourd'hui"; }else{ if ($diff->d == 1){ $date_formatee = "hier"; }else{ if ($diff->y){ $date_formatee = $diff->y.' an'.(($diff->y > 1) ? 's' : ''); }else{ if ($diff->m){ $date_formatee = $diff->m.' mois'; }else{ if ($diff->d){ $date_formatee = $diff->d.' jours'; }else{ if ($diff->h){ $date_formatee = $diff->h.' heure'.(($diff->h > 1) ? 's' : ''); }else{ if ($diff->i){ $date_formatee = $diff->i.' minute'.(($diff->i > 1) ? 's' : ''); }else{ if ($diff->s){ $date_formatee = $diff->s.' seconde'.(($diff->s > 1) ? 's' : ''); } } } } } } } } echo $date_formatee; ?>
Partager