begin process at 2012 05 27 21:55:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > JOUR D'UNE DATE

JOUR D'UNE DATE


 Information sur la source

Note :
Aucune note
Catégorie :Date / Heure Classé sous :jour, date, extraire, semaine Niveau :Initié Date de création :02/06/2002 Date de mise à jour :02/06/2002 16:13:57 Vu :16 314

Auteur : matrey

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

 Description

Quel jour de la semaine êtes-vous né ?

Ce script va vous permettre d'obtenir le jour de la semaine en entrant une date. Cette date sera calculée à partir du 1er janvier 1600. Si la demande concerne une date inférieure à celle-ci, le résultat semble être exact et les nombres négatifs n'ont pas l'air de poser de problèmes lors des calculs.
Le calcul sera le suivant :
- déterminer le nombre de jours écoulés depuis le 1er janvier de votre année de naissance
- ajouter à cete valeur le nombre de jours écoulés entre 1600 et votre année de naissance
- calculer le reste de la division de cette somme par 7 pour avoir le numéro du jour de la semaine de 0 (dimanche) à 6 (samedi)
Ce code est tiré du livre "PHP", collection "Codes_en_Stock", édité par CampusPress et écrit par Michel Dreyfus.
J'ai cependant corrigé par rapport au code original quelques erreurs de parenthèses et de fermetures de balises.

Source

  • Queljour.htm
  • ----------------
  • <html>
  • <head>
  • <title>Quel jour était-ce ?</title>
  • </head>
  • <body>
  • <form action="queljour.php">
  • <h2>Quel jour tombait cette date ?</h2>
  • Indiquez la date de l'évènement :<br>
  • Jour :
  • <select name="sel_jour">
  • <option selected>1
  • <option>2
  • <option>3
  • <option>4
  • <option>5
  • <option>6
  • <option>7
  • <option>8
  • <option>9
  • <option>10
  • <option>11
  • <option>12
  • <option>13
  • <option>14
  • <option>15
  • <option>16
  • <option>17
  • <option>18
  • <option>19
  • <option>20
  • <option>21
  • <option>22
  • <option>23
  • <option>24
  • <option>25
  • <option>26
  • <option>27
  • <option>28
  • <option>29
  • <option>30
  • <option>31
  • </select>
  • Mois :
  • <select name="sel_mois">
  • <option value=1>Janvier
  • <option value=2>Février
  • <option value=3>Mars
  • <option value=4>Avril
  • <option value=5>Mai
  • <option value=6>Juin
  • <option value=7>Juillet
  • <option value=8>Août
  • <option value=9>Septembre
  • <option value=10>Octobre
  • <option value=11>Novembre
  • <option value=12>Décembre
  • </select>
  • De quelle année :
  • <input type="text" name="annee" size=4>
  • <br>
  • <input type="submit" value="Pour savoir">
  • </form>
  • </body>
  • </html>
  • Ici les deux listes permettent de sélectionner le jour et le mois alors que la boite de saisie reçoit l'année. Le bouton "Pour savoir" appelle le script.
  • Queljour.php
  • ----------------
  • <?php
  • function bissex($an){
  • if(($an % 4 == 0) && ($an % 100 != 0) || ($an % 400 == 0)){
  • return 1;
  • }else{
  • return 0;
  • }
  • }
  • function joursem($an, $mois, $jour){
  • $nb_jours = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  • if ($jour > $nb_jours[$mois - 1] + bissex($an)){
  • print "<h3>Dans le mois choisi, il y a moins de $jour jours !</h3>";
  • return -1;
  • }
  • if (mktime(1,0,0,1,1,$an) == -1){
  • $jours_total = $jour;
  • if ($mois > 1){
  • for ($i=$mois-2; $i>=0; $i--){
  • $jours_total += $nb_jours[$i];
  • if ($i == 1) $jours_total += bissex($an);
  • }
  • }
  • $jours_total = $jour;
  • if ($mois > 1){
  • for ($i=$mois-2; $i>=0; $i--){
  • $jours_total += $nb_jours[$i];
  • if ($i == 1) $jours_total += bissex($an);
  • }
  • }
  • $jours_an = 0;
  • for ($i=1600; $i<$an; $i++){
  • $jours_an += (365 + bissex($i));
  • }
  • $jours_total += $jours_an;
  • $sem = ($jours_total + 5) % 7; // Le 1/1/1600 était un samedi
  • }
  • else{
  • $sem = (int) date("w", mktime(1,0,0,$mois,$jour,$an));
  • }
  • return $sem;
  • }
  • //---------------------------
  • $semaine = array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
  • $jour_de_la_semaine = joursem($annee, $sel_mois, $sel_jour);
  • if ($jour_de_la_semaine != -1){
  • echo "<h3>Le $sel_jour/$sel_mois/$annee est un $semaine[$jour_de_la_semaine]</h3>";
  • }
  • ?>
Queljour.htm
----------------
<html>
<head>
<title>Quel jour était-ce ?</title>
</head>
<body>
<form action="queljour.php">
<h2>Quel jour tombait cette date ?</h2>
Indiquez la date de l'évènement :<br>
Jour :
<select name="sel_jour">
<option selected>1
<option>2
<option>3
<option>4
<option>5
<option>6
<option>7
<option>8
<option>9
<option>10
<option>11
<option>12
<option>13
<option>14
<option>15
<option>16
<option>17
<option>18
<option>19
<option>20
<option>21
<option>22
<option>23
<option>24
<option>25
<option>26
<option>27
<option>28
<option>29
<option>30
<option>31
</select>
Mois :
<select name="sel_mois">
<option value=1>Janvier
<option value=2>Février
<option value=3>Mars
<option value=4>Avril
<option value=5>Mai
<option value=6>Juin
<option value=7>Juillet
<option value=8>Août
<option value=9>Septembre
<option value=10>Octobre
<option value=11>Novembre
<option value=12>Décembre
</select>
De quelle année :
<input type="text" name="annee" size=4>
<br>
<input type="submit" value="Pour savoir">
</form>
</body>
</html>

Ici les deux listes permettent de sélectionner le jour et le mois alors que la boite de saisie reçoit l'année. Le bouton "Pour savoir" appelle le script.

Queljour.php
----------------
<?php

function bissex($an){
	if(($an % 4 == 0) && ($an % 100 != 0) || ($an % 400 == 0)){
	return 1;
	}else{
	return 0;
	}
}

function joursem($an, $mois, $jour){
$nb_jours = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	if ($jour > $nb_jours[$mois - 1] + bissex($an)){
	print "<h3>Dans le mois choisi, il y a moins de $jour jours !</h3>";
	return -1;
	}

	if (mktime(1,0,0,1,1,$an) == -1){
	$jours_total = $jour;
		if ($mois > 1){
			for ($i=$mois-2; $i>=0; $i--){
			$jours_total += $nb_jours[$i];
			if ($i == 1) $jours_total += bissex($an);
			}
		}

$jours_total = $jour;
	if ($mois > 1){
		for ($i=$mois-2; $i>=0; $i--){
		$jours_total += $nb_jours[$i];
		if ($i == 1) $jours_total += bissex($an);
		}
	}
$jours_an = 0;
	for ($i=1600; $i<$an; $i++){
	$jours_an += (365 + bissex($i));
	}
$jours_total += $jours_an;
$sem = ($jours_total + 5) % 7; // Le 1/1/1600 était un samedi
}
else{
$sem = (int) date("w", mktime(1,0,0,$mois,$jour,$an));
}
return $sem;
}
//---------------------------
$semaine = array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
$jour_de_la_semaine = joursem($annee, $sel_mois, $sel_jour);
if ($jour_de_la_semaine != -1){
echo "<h3>Le $sel_jour/$sel_mois/$annee est un $semaine[$jour_de_la_semaine]</h3>";
}
?>



 Sources du même auteur

FLUX D'ENTRÉE ET DE SORTIE
Source avec Zip Source avec une capture IMAGE CRYPTÉE DE PROTECTION POUR FORMULAIRE WEB
TOUTES LES FONCTIONS DE PHP DÉTAILLÉES !
Source avec Zip Source avec une capture CRÉATION DYNAMIQUE DE BANNIÈRES

 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
CALENDRIER PAR SEMAINE AVEC ACTIONS par Tourach
PLANNING DE QUART AUJOURD'HUI par paillette76
Source avec Zip Source avec une capture CALENDRIER - FLOPTWO par floptwo
AFFICHAGE DU DÉCOMPTE D'UNE DATE PAR RAPPORT AVEC LA DATE AC... par GREGPUNK

Commentaires et avis

Commentaire de matrey le 02/06/2002 16:23:10

Commentaires !!!

Commentaire de pi0up51 le 02/06/2002 18:46:41

good job ;)

Commentaire de Marneus Calgar le 15/06/2003 22:16:29

Commentaire de matrey le 16/06/2003 10:03:08

Commentaire de Marneus Calgar le 16/06/2003 11:20:22

Commentaire de mastervanou le 25/07/2003 22:45:15

tu peus déjà optimiser ton code en modifiant ton &lt;select&gt; pour le jour:

&lt;select name="sel_jour"&gt;
&lt;?php
for ($i=1; $i&lt;32; $i++)
{echo "&lt;option value=$i&gt;&lt;/option&gt;";}
?&gt;
&lt;/select&gt;

Commentaire de matrey le 26/07/2003 21:54:33

effectivement... quand je relis ce code, je le trouve de + en + pourri. Mais bon je faisais du PHP depuis 3 jours à cette époque !!!!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Jour de la semaine à partir d'une date [ par abdoulax ] Bonjour, j'ai une date du type 2006-31-03 je voudrai en r&#233;cup&#233;rer le jour de la semaine. Ce que j'ai fait c'est $week=idate('w',strtotime($l probleme passage entre les annees [ par nader19 ] salut  . je galere depuis logntemps dans un projet et quand j'ai cru ça termine je tombe sur un beugbref mon beug cette fois çi j'ai decovert c'est pa calendrier annuel, surligné jours en fonction d'une table [ par rouskard ] Bonjour à tous,J'ai un petit problème dans l'élaboration d'un calendrier annuel. J'aimerais pouvoir faire ressortir les jours où une personne a eu un time et date [ par kaking ] bonjour tout le mondealors voila: je voudrais savoir comment toutes les demie heures, je pourrais rajouter 1 a mon $prix (avec time et date()) mais je recherche et affichage du résultat [ par just me ] Bonjour, je suis entrain de développer une application web et je suis coincé sur la partie du moteur de recherche, en gros: je me connecte a une BDD M calcule le nombre de jour restant [ par ahlemlo ] bonjour,j'ai un petit problème est comment calculer le nombre de jour restantj'ai 2 date date début et date finje veux juste calculer le nombre de jou libelle du jour a partir d'une date donnée [ par Medgueye ] Bonjour à tousje voudrai savoir s'il y a une fonction en php qui me permet de connaitre le libellé du jour si je connais la date.Exemple:    - si je p Problème avec date [ par Burnside ] Bonjour,Je désirerai savoir comment bien comparer deux dates, car j'ai essayé plusieur scripts mais rien ne va.Mon souhait :j'ai dans ma base mysql un Numéro de la semaine [ par destiny ] Bonjour,J'aimerai savoir si une function existe pour connaitre le numéro de la semaine suivant une date X (peu importe le format) ? Et par la meme tro probléme calcule dimanche [ par sensoide ] Bonjour a tous,voici donc une source que j'ai pris sur phpcs, mais il y a comme qui dirait un probléme pour le calcul des dimanches et je n'arive pas


Nos sponsors


Sondage...

Comparez les prix

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,749 sec (3)

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