Enregistrement et différence de dates
maxou
-
dariumis Messages postés 583 Statut Membre -
dariumis Messages postés 583 Statut Membre -
Bonjour ou bonsoir,
j'enregistre dans ma base de données des messages.
Chaque message est enregistré avec une date. Dans ma base de données le type de champs est DATE.
J'enregistre aussi l'heure avec un type de champs TEXT.
Je ne met pas de Timestamp car je veut ensuite faire:
afficher "il y a..." et là la différence d'heure entre maintenant et l'heure à laquelle a été posté le message.
Donc, si le jour du message n'est pas le jour d'aujourd'hui, on affiche seulement la date (pour ne pas que sa fasse du "Il y a 256 heures").
Si le jour du message est le même qu'aujourd'hui, on fait la différence pour savoir il y a combien de temps il a été enregistré.
J'ai fais ceci:
Mais sa ne marche pas.
En effet une fois enregistré, la date dans le champs de type DATE est transformé en AAAA-MM-JJ (année mois jour) alors que quand je vérifie la date du jour aujourd'hui le format n'est pas le même, donc il n'y a pas égalité.
Donc comment puis-je faire, ou alors existe-t-il une autre solution, plus simple ?
Car ensuite je voudrais afficher précisément, par exemple si c'est il y a des heures, des minutes ou des secondes.
Merci d'avance.
j'enregistre dans ma base de données des messages.
Chaque message est enregistré avec une date. Dans ma base de données le type de champs est DATE.
J'enregistre aussi l'heure avec un type de champs TEXT.
Je ne met pas de Timestamp car je veut ensuite faire:
afficher "il y a..." et là la différence d'heure entre maintenant et l'heure à laquelle a été posté le message.
Donc, si le jour du message n'est pas le jour d'aujourd'hui, on affiche seulement la date (pour ne pas que sa fasse du "Il y a 256 heures").
Si le jour du message est le même qu'aujourd'hui, on fait la différence pour savoir il y a combien de temps il a été enregistré.
J'ai fais ceci:
$date = date('y,m,d'); //en ce moment
$date_message = $row['date']; //date à laquelle message a été enregistré
$heure = date("H\hi"); // heure maintenant
$heure_message = $data['heure']; //heure à laquelle message a été enregistré
if($date != $date_message) //si aujourd'hui n'est pas égal à la date du message
{
$time = $date_message; //on garde donc la date
}
else
{
$heure_finale = $heure - $heure_message; //on fait la différence entre heure maintenant et heure à laquelle le message a été enregistré pour savoir il y a combien de temps
$time = $heure_finale; //on obtient donc cette variable
}
Mais sa ne marche pas.
En effet une fois enregistré, la date dans le champs de type DATE est transformé en AAAA-MM-JJ (année mois jour) alors que quand je vérifie la date du jour aujourd'hui le format n'est pas le même, donc il n'y a pas égalité.
Donc comment puis-je faire, ou alors existe-t-il une autre solution, plus simple ?
Car ensuite je voudrais afficher précisément, par exemple si c'est il y a des heures, des minutes ou des secondes.
Merci d'avance.
A voir également:
- Enregistrement et différence de dates
- Différence entre tcp et udp - Guide
- Nombre de jours entre deux dates excel - Guide
- Difference million milliard - Accueil - Technologies
- Difference actif et en ligne messenger - Forum Facebook Messenger
- Difference entre mo et mb - Forum Matériel & Système