begin process at 2012 05 27 16:34:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > AFFICHAGE DU DÉCOMPTE D'UNE DATE PAR RAPPORT AVEC LA DATE ACTUELLE

AFFICHAGE DU DÉCOMPTE D'UNE DATE PAR RAPPORT AVEC LA DATE ACTUELLE


 Information sur la source

Note :
2,5 / 10 - par 2 personnes
2,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date / Heure Classé sous :date, temps, heure, minute, jour Niveau :Débutant Date de création :03/03/2006 Date de mise à jour :03/03/2006 17:17:24 Vu :49 364

Auteur : GREGPUNK

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Tout est en le titre !
Pour ceux qui comprennent pas, ce script va vous afficher les mois,jours,minutes,secondes passés depuis la date actuelle !

Source

  • // Decoupez votre date de référence et mettez le dans les variables ci-dessous
  • // $s_annee
  • // $s_mois
  • // $s_jour
  • // $s_heure
  • // $s_minute
  • // $s_seconde
  • $seconde=date("U",mktime($s_heure,$s_minute,$s_seconde,$s_mois,$s_jour,$s_annee))-date("U",mktime(date("H"));
  • $seconde=str_replace("-","",$seconde);
  • if($seconde<60)
  • $date_affichage=date("s",$seconde)." secondes";
  • elseif($seconde<3600)
  • $date_affichage=date("i",$seconde)."min et ".date("i",$seconde)."s";
  • elseif($seconde<86400)
  • $date_affichage=date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
  • elseif($seconde<2678400)
  • $date_affichage=date("d",$seconde)."j, ".date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
  • else
  • $date_affichage=date("m",$seconde)." mois, ".date("d",$seconde)."j, ".date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
  • echo "<span style=\"font-size:12px;\">Il y a ".$date_affichage."</span><br>";
// Decoupez votre date de référence et mettez le dans les variables ci-dessous
// $s_annee
// $s_mois
// $s_jour
// $s_heure
// $s_minute
// $s_seconde
$seconde=date("U",mktime($s_heure,$s_minute,$s_seconde,$s_mois,$s_jour,$s_annee))-date("U",mktime(date("H"));
$seconde=str_replace("-","",$seconde);

if($seconde<60)
	$date_affichage=date("s",$seconde)." secondes";
elseif($seconde<3600)
	$date_affichage=date("i",$seconde)."min et ".date("i",$seconde)."s";
elseif($seconde<86400)
	$date_affichage=date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
elseif($seconde<2678400)
	$date_affichage=date("d",$seconde)."j, ".date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
else
	$date_affichage=date("m",$seconde)." mois, ".date("d",$seconde)."j, ".date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";

echo "<span style=\"font-size:12px;\">Il y a ".$date_affichage."</span><br>";



 Historique

03 mars 2006 17:17:25 :
:-) Merci au commentaire

 Sources du même auteur

AVOIR UN SERVEUR PERSO POUR SON SITE EN IP DYNAMIQUE
GENERATION D'UN MOT DE PASSE AVEC CHOIX DE TYPE DE CARACTÈRE
VERIFICATION D'UN EMAIL (@)

 Sources de la même categorie

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

 Sources en rapport avec celle ci

CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
FORMATER DES MILLISECONDES AU FORMAT HH:MM:SS:MMM par lcef
Source avec Zip CLASSE DATETIME ÉTENDUE PHP 5.2 par nautilus99
Source avec Zip GÉNÉRATEUR DE DATE DANS TOUTES LES LANGUES DU MONDE EN (PHP)... par abdelaziz_info
CLASSE FEUILLE DE TEMPS PHP5 par guill76

Commentaires et avis

Commentaire de malik7934 le 03/03/2006 10:16:52

J'ai testé et ça ne fonctionne pas toujours... pourquoi?: tu fais quoi si ton $seconde>32140800?!?

Pour info:
$seconde=date("U",mktime($s_heure,$s_minute,$s_seconde,$s_mois,$s_jour,$s_annee))-date("U",mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
c'est pareil à:
$seconde=date("U",mktime($s_heure,$s_minute,$s_seconde,$s_mois,$s_jour,$s_annee))-date("U");

Commentaire de coucou747 le 03/03/2006 11:05:26 administrateur CS

else if, else if, else if... t'en as pas eu marre ? à ta place, j'aurais fait une boucle... Bon, sinon, remplace tout tes " par des ', aparement t'a confondu leurs deux effets....

Commentaire de bubuze le 04/03/2006 11:22:44

quitte à me faire newbiser, tu la ferais comment la boucle 747 ?
ça me paraît propre et simple comme code
(mais je sais pas comment php gère les années bissextiles, les jours par mois etc...)
du coup le décompte risque d'être faux s'il n'est pas basé par rapport au temps présent...
ex : si on est le 1er mars, et que la différence est de 28,5 jours, comment il s'en sort ?
et on pourrait encore chipoter avec le décalage de quelques secondes qui a été réalisé récemment pour recaler le temps officiel avec la rotation de la terre :-)

a+
(tout ça pour ceux qui voudraient un truc carré, répondez à ces questions avant de vous en servir)

Commentaire de coucou747 le 04/03/2006 12:32:45 administrateur CS

# if($seconde<60)
#     $date_affichage=date("s",$seconde)." secondes";
# elseif($seconde<3600)
#     $date_affichage=date("i",$seconde)."min et ".date("i",$seconde)."s";
# elseif($seconde<86400)
#     $date_affichage=date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
# elseif($seconde<2678400)
#     $date_affichage=date("d",$seconde)."j, ".date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";
# else
#     $date_affichage=date("m",$seconde)." mois, ".date("d",$seconde)."j, ".date("H",$seconde)."h, ".date("i",$seconde)."min et ".date("s",$seconde)."sec";


mettons que je sois un gros New et que je ne sache pas comment simplifier les nombres devant... Je peux déja simplifier l'expression de la date
<?php
echo date('m\\m\\o\\i\\s d\\j, H\\h, i\\m\\i\\n \\e\\t s\\s\\e\\c');
?>
ça m'a permi de faire un petit test...

Bon, ensuite, une petite boucle...

<?php
$a=array(
60=>'s\\s\\e\\c\\o\\n\\d\\e\\s',
3600=>'i\\m\\i\\n \\e\\t i \\s\\e\\c',
86400=>'H\\h, i\\m\\i\\n \\e\\t i \\s\\e\\c',
2678400=>'d\\j, H\\h, i\\m\\i\\n \\e\\t i \\s\\e\\c'
)
$date_affichage='m \\m\\o\\i\\s, d\\j, H\\h, i\\m\\i\\n \\e\\t i \\s\\e\\c';
while (list($b, $c)=each($a)){
if ($seconde<$b){
$date_affichage=$c;
break;
}
}
$date_affichage=date($date_affichage);
?>

et hop, c'est pas mieux comme ça ??? et si j'ai pas envi de répéter tout dans le tableau du haut alors : je peut très bien modifier légèrement le format de façon à n'avoir qu'a faire des .=

Commentaire de FhX le 04/03/2006 14:06:05

"(mais je sais pas comment php gère les années bissextiles, les jours par mois etc...)"

Mktime() s'en charge tout seul au passage :)

"et on pourrait encore chipoter avec le décalage de quelques secondes qui a été réalisé récemment pour recaler le temps officiel avec la rotation de la terre :-)"
Tout est géré coté serveur, t'as pas à t'en faire pour ca.

Commentaire de bubuze le 04/03/2006 18:47:06

merci pour vos réponses, et bien joué coucou pour ton code ! (bien qu'il soit moins lisible que le premier)

désolé d'insister si je me trompe, mais le calcul de la différence des dates donne une "durée".
pour savoir le nombre de jour/mois/année contenus dans cette durée il faut avoir une référence :
une durée de 30 jours peut correspondre à plusieurs résultats, selon la date de référence sur laquelle on se base...
(en se méfiant également du sens de la soustraction)
ex : durée = 30 jours a plusieurs solutions ?
0mois30jours ou 1mois2jours ou 1mois1jour ou encore 1mois0jour.
comment il se dépatouille avec ça le php ?

ok je sors... la comparaison a lieu avec la date actuelle.
si je veux résoudre le problème que j'exposais, y-a-il une solution (à part modifier la date système ?)

Commentaire de coucou747 le 04/03/2006 18:52:51 administrateur CS

et bien avec ça, tu prend des timestamp unix, tu les soustrait, tu as ta durée, et ensuite, tu le passe comme argument à date comme tu l'as fait... mais on le fait avec des timestamp unix...

Mon code est peu lisible car non commenté, mais bon, voilà quoi, c'est pas vraiment mon code, c'est une amélioration du tien (qui n'a en rapport avec le tien que la fonctionnalité, je l'admet... mais j'ai jamais eu envi de faire ça, alors je te montre comment le faire, mais pour les commentaires, tu te débrouille tout seul !)

Commentaire de FhX le 04/03/2006 19:29:10

"désolé d'insister si je me trompe, mais le calcul de la différence des dates donne une "durée"."
Bah voui... mktime() renvoit bien un timestamp UNIX... Soit une durée depuis le 1er Janvier 1979 (ou 71... je sais plus.)


Après, tu utilises date() pour avoir la date actuelle par rapport à ta durée et puis voila.


Y'a rien de dur. :p

Commentaire de GREGPUNK le 06/03/2006 12:18:59

Heuuu
pour ceux qui sont pas content, c'est vraiment un tout petit script qui permet de faire un décompte très simple
c'est sur que c'est pas au millième pret ( a la rigeur sur vos sites tout le monde s'en fou combien de secnde ca se fait)

vu que je l'utilise pour indiquer il y a combien de temps qu'un utilisateur a posté un commentaire pour chaque article !

ya pas besoin d'etre ultra précis !
sinon j'aurai utilisé des calcul de fou avec géolocalisation de la personne et avec décalage horaire en fonction de sa position et heures été et heures d'hivers ! ;-)

Commentaire de yassinovic10 le 24/08/2006 22:30:58

ca marche plu

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

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 dtae heure ... [ par plopinou ] Bonjour,vola, je stoche deux date dans ma base :&nbsp;en datetimeune c'est le jour&nbsp;de l'interevntion&nbsp;, l'autre c'est 7 jours plus&nbsp;tard. Temps en heure entre deux date/heure [ par Eliays ] Bonjour, comment calculer le nombre d'heure entre deux date? Par exemple j'ai 01-10-2008/22:00 et 02-10-2008/15:00. Voila je ne vois pas comment d Gestion des dates et format [ par thaiboxing ] Bonjour, Je suis entrain de découvrir php a l'aide d'un guide php, et la je bloque sur mon code le voici : //Code calendrier date et heure // Afficher l'heure du jour et date d'hier pour des articles [ par steve2206 ] Bonjour à tous, Je viens à vous car je ne m'y connais pas trop et j'aimerai faire un truc qui me parait pourtant si simple.... J'ai une liste d'art calcule nobre de jour feirie apartir d une seulle date [ par ahmedshaiek ] vous pouvez m aider comment je peut calculer combien de jour fériée qui vienne successive parais une date de fin pour savoir la prochaine de retour o Création d'un planning de RDV pour la semaine [ par alphacrash ] Salut à tous ! Je butte depuis 3 jours sur un problème, qui je suis sur sera assez vite résolu, du moins je l'espère. Je souhaite faire un planning p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales