Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2011, 15h31   #1
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
Par défaut Récupérer la date du lundi de la semaine courante

Salut tout le monde;

Je suis en train de développer une sorte de calendrier en PHP(mais pas exactement un calendrier ). Mon problème c'est que à partir de la date d'aujourd'hui je veux obtenir la date de chaque jour de la semaine courante:lundi,mardi,...dimanche.
J'attends votre aide.
Merci
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 15h36   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
retourne le timestamp du lundi en cours
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/04/2011, 15h36   #3
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 338
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 338
Points : 273
Points : 273
Salut, tout dépend comment tu conçoit ton appli. Avec une base de donnée ou non ect...

sinon il faut simplement incrémenter ta date d'aujourd'hui, soit avec une fonction de date, il doit y avoir ça, soit avec un split() puis un cast int() un ++ et un concat, mais c'est très sale ^^
J'ai développer un agenda/calendrier en php, je m'en suis pas trop mal sorti, n'hésite pas à apporter plus de précisions pour que je puisse vraiment t'aider !
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/04/2011, 16h13   #4
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
merci pour vos réponses rapide
voila solution que j'adopte :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function get_lundi_dimanche_from_week($week,$year)
{
if(strftime("%W",mktime(0,0,0,01,01,$year))==1)
  $mon_mktime = mktime(0,0,0,01,(01+(($week-1)*7)),$year);
else
  $mon_mktime = mktime(0,0,0,01,(01+(($week)*7)),$year);
 
if(date("w",$mon_mktime)>1)
  $decalage = ((date("w",$mon_mktime)-1)*60*60*24);
 
$lundi = $mon_mktime - $decalage;
    $dimanche = $lundi + (6*60*60*24);
 
    return array(date("D - d/m/Y",$lundi),date("D - d/m/Y",$dimanche));
}
 
$tmp = get_lundi_dimanche_from_week(date('W'),date('Y'));
print $tmp[0]."<BR>"; // date du lundi
print $tmp[1]."<BR>"; // date du mardi
?>
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 16h16   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par omar24 Voir le message
merci pour vos réponses rapide
voila solution que j'adopte :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function get_lundi_dimanche_from_week($week,$year)
{
if(strftime("%W",mktime(0,0,0,01,01,$year))==1)
  $mon_mktime = mktime(0,0,0,01,(01+(($week-1)*7)),$year);
else
  $mon_mktime = mktime(0,0,0,01,(01+(($week)*7)),$year);
 
if(date("w",$mon_mktime)>1)
  $decalage = ((date("w",$mon_mktime)-1)*60*60*24);
 
$lundi = $mon_mktime - $decalage;
    $dimanche = $lundi + (6*60*60*24);
 
    return array(date("D - d/m/Y",$lundi),date("D - d/m/Y",$dimanche));
}
 
$tmp = get_lundi_dimanche_from_week(date('W'),date('Y'));
print $tmp[0]."<BR>"; // date du lundi
print $tmp[1]."<BR>"; // date du mardi
?>
bravo tu t'es bien embêter, pourquoi ne pas avoir faire avec strtotime comme grunk t'as dis ??? surtout que le code est faux puisque avec les décalage horaire ca ne marche pas..I
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 16h26   #6
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
pourquoi est il faut?je le teste chez moi et il me donne exactement ce que je vise, voudriez bien m'expliquer je ne veux pas tomber dans des problèmes parés le déploient de la solution.merci
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 16h57   #7
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Avec strtotime c'est tout de suite moins compliqué :

Code :
1
2
3
4
5
function get_lundi_dimanche_from_week($week,$year) {
		$week = sprintf('%02d',$week);
		$start = strtotime($year.'W'.$week);
		return array(strtotime('Monday',$start),strtotime('Sunday',$start));
	}
A tester mais ça devrais marcher
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 16h57   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par omar24 Voir le message
pourquoi est il faut?je le teste chez moi et il me donne exactement ce que je vise, voudriez bien m'expliquer je ne veux pas tomber dans des problèmes parés le déploient de la solution.merci
parce que une journée c'est pas forcement 24h, comme je l'ai dis a cause du décalage horaire, ducoup ca peux être 23h ou 25h donc le calcule est faux, utilise strtotime comme on t'as dis
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/04/2011, 17h15   #9
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
ok je comprends maintenant merci pour vos réponses
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h51.


 
 
 
 
Partenaires

Hébergement Web