Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

NOMBRE DE JOUR DEPUIS


Information sur la source

Catégorie :Date / Heure Classé sous : timestamp, date, jour Niveau : Débutant Date de création : 19/02/2006 Vu : 8 427

Note :
5,25 / 10 - par 4 personnes
5,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Ayant besoin d'afficher des nouvelles de moins de 30 jours sur un site, voici le code que j'ai fait. Il s'appui directement sur le timestamp

Le variable $diff_date est le nombre de jour de différence.
 

Source

  • $date_jour = time();
  • // On transforme la date AAAA/MM/JJ de $date_test en valeur timestamp
  • $annee = substr($date_test, 0, 4);
  • $mois = substr($date_test, 5, 2);
  • $jour = substr($date_test, 8, 2);
  • $timestamp_date_test = mktime( 0, 0, 0, $mois, $jour, $annee);
  • // On compare les valeurs
  • $soutraction_date = $date_jour - $timestamp_date_test;
  • $diff_date = $soutraction_date / (60*60*24);
$date_jour = time();
// On transforme la date AAAA/MM/JJ de $date_test en valeur timestamp
$annee = substr($date_test, 0, 4);
$mois = substr($date_test, 5, 2);
$jour = substr($date_test, 8, 2);
$timestamp_date_test = mktime( 0, 0, 0, $mois, $jour, $annee);

// On compare les valeurs
$soutraction_date = $date_jour - $timestamp_date_test;
$diff_date = $soutraction_date / (60*60*24);

Commentaires et avis

signaler à un administrateur
Commentaire de TheSin le 20/02/2006 09:27:48

slt
t'as plus simple :
echo intval((time()-strtotime($mois.'/'.$jour.'/'.$annee))/(3600*24));

signaler à un administrateur
Commentaire de erce78 le 20/02/2006 14:05:32

Salut,

Le but était de détailler au mieux pour tout le monde puisse comprendre.

signaler à un administrateur
Commentaire de kankrelune le 20/02/2006 14:33:23

tu peux faire...

list($annee,$mois,$jour) = explode('/',$date_test);

au lieu de...

# $annee = substr($date_test, 0, 4);
# $mois = substr($date_test, 5, 2);
# $jour = substr($date_test, 8, 2);

et tu peux racourcir la fin aussi...

list($annee,$mois,$jour) = explode('/',$date_test);
$diff_date = ((time() - mktime( 0, 0, 0, $mois, $jour, $annee)) / (60*60*24));

J'ais pas testé mais ça devrait marcher comme ça... .. . ;o)

@ tchaOo°

signaler à un administrateur
Commentaire de TheSin le 20/02/2006 19:22:00

bin franchement, je comprend mieux avec ma ligne ....
enfin bon, si tu pouvais m'expliquer ce qu'il y a a comprendre a part un peu de maths stp.

signaler à un administrateur
Commentaire de coucou747 le 20/02/2006 20:30:00

perso, je penses que TheSin a raison...

signaler à un administrateur
Commentaire de Anthomicro le 20/02/2006 22:35:31

$limite_trente_jours=time()-30*24*3600; //à stocker en dur...

sinon si c'est depuis un timestamp :

echo (time()-$time2)%(30*24*3600); //nombre de jours depuis un timestamp...

sinon pour les autres méthodes elles ont été expliquées par mes confrères plus haut :-)

a +

signaler à un administrateur
Commentaire de monoceros01 le 21/02/2006 19:03:06

O_O... Ahem!...
Si on reprend "l'objectif" de ce script on a :
"Ayant besoin d'afficher des nouvelles de moins de 30 jours sur un site, voici le code que j'ai fait..."

Personnellement, si j'ai besoin de faire ça et que mes nouvelles sont dans une base de données MySQL, je me contente de faire :
   SELECT nouvelles FROM tbl_nouvelles WHERE DATEDIFF(NOW(),date_col) <= 30 ORDER BY date_col DESC;

Après, si je veux m'amuser à compter la différence en secondes entre deux dates.... Ben vous l'avez très bien dis :D

signaler à un administrateur
Commentaire de Anthomicro le 21/02/2006 20:53:33

si j'ai un truc mysql avec un champ INT je fais la même chose ou presque mais WHERE date>time()-30jours

signaler à un administrateur
Commentaire de TheSin le 21/02/2006 22:13:12

oui, effectivement lol
ces méthodes sont quand meme plus simple et un peu plus rapide ...
par contre, moi j'avais pas vu l'objectif, j'ai du le louper ....
c'est pour ca que j'avais proposé une simple ligne ^^

signaler à un administrateur
Commentaire de parraccourci le 24/01/2007 11:13:43

Perso je préfère celui-ci que j'ai fait... on entre un debut et une fin en "secondes depuis l'ere unix" et il revoi le nombre de jours en tenant compte du fait que la différence déborde peut etre sur un jour supplementaire, contrairement a un autre exemple ci-dessus.

function nbrJr($debut,$fin){
$debutJournee = mktime(0,0,0,date("m",$debut),date("d",$debut),date("Y",$debut));
$secAvtDeb = $debut-$debutJournee;
$diff = $fin - $debut;
$nbJr= intval($diff/(24*3600));
$nbJr++;
if( (($diff%(24*3600))+$secAvtDeb) > (24*3600) ) $nbJr++;
return  $nbJr;
}

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Convertir une Date au format Timestamp [ par Touf ] Salut !J'ai un petit pb : j'accède à une Date stockée dans une bdd mysql sous la forme (timestamp) "YmdHis" : 20020608105031J'aimerais l'afficher sous fonction d'ajout de jour à une date [ par bapti ] bonjour, je recherche d'urgence une fonction qui additionnerait une date avec un nombre de jours et qui retournerait une date, merci d'avance, baptist Test de valeurs entre 2 dates [ par mfaraday ] BonjourJe souhaiterai tester si une date se trouve bien entre deux dates butoirs. Ne m'y connaissant que moyennement, je pensais m'orienter vers times Récupération de Date, ou Prob Serveur ?? [ par Feebles ] Salut Tous Le Monde, Je débute en PHP, (mais pas en programmation), et j'ai un petit soucis pour récupérer la date du jour encour :j'ai essayer plusie Je trouve pas l'erreur sur mon script [ par Akash ] Salut à tous j'espère que vous pourrez m'aider. Voila le problème :Pour mon script de calendrier evenementiel j'ai besoin d'afficher des évènements pa Gestion de dates [ par tryoruda ] SalutJe souhaite quelques tuyaux pour gérer les dates :- un formulaire avec choix du jour / du mois / de l'année envoie vers un seul champ Mysql date- tableau comme calendrier!! [ par titigrou ] kikou a tous!!!pffff j'ai un énorme problème et urgent a règler mais je n'arrive pas a voir l'erreur!!!!au secours!!!!j'ai une liste déroulante semain un lien avec un appel dynamique à un fichier [ par pyranhaz ] Bonjour,je suis pas très fort en php, voire même nul...je cherche à faire fonctionner un lien dans une page qui puisse réagir à la date du jour dans u Pb avec Date() & mktime() [ par LordDaedalus ] BonjourJe suis en train de créer un agenda en utilisant les fonctions date() et mktime().j'utilise $Jour = Date("d",mktime(Date("h")-24*10*7)Le jour e En fonction du temps ? [ par cedd ] Bonjour!Mon problème se situe au niveau de la fonction du temps.Je sais que pour récupérer la date systeme, il faut utiliser:$date_du_jour = date("d-m


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.