begin process at 2012 05 30 21:04:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Trucs et astuces

 > 

Fonction php date


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction php date

vendredi 16 juillet 2004 à 11:59:31 | Fonction php date

Niníel

Hello,

est-ce qu'une fonction permet, à partir d'un numéro de semaine, de retrouver les dates correspondantes?

je sais que l'on peut faire l'inverse, donc retrouver le numéro de semaine à partir d'une date, qqch comme date (W) je crois.

Merci d'avance.
vendredi 16 juillet 2004 à 12:20:48 | Re : Fonction php date

coockiesch

Salut!
J'ai regardé et n'ai pas trouvé de fonction qui le fait, mais, tu peux calculer ce que ca fait en jour et donc trouver le mois dans lequel ca tombre... (tenir compte du 29.02...)

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
vendredi 16 juillet 2004 à 18:05:22 | Re : Fonction php date

GRenard

moi jle passerait en seconde, apres tu peux faire
date("ske_tu_veux",$seconde);


PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]
samedi 17 juillet 2004 à 10:28:39 | Re : Fonction php date

coockiesch

Salut!
J'ai commencé à voir pour ta fonction.
J'ai pas trop le tps aujourd hui et demain, mais si tu patiente --> lundi tu devrais l'avoir.

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
samedi 17 juillet 2004 à 11:56:08 | Re : Fonction php date

Niníel

Hello.

Merci pour vos réponses. Je prends note de tout ceci.

Si non, coockiesch, je peux attendre jusque à lundi.


@++
samedi 17 juillet 2004 à 12:33:18 | Re : Fonction php date

coockiesch

Salut!
Finalement, je t'ai fais une petite fonction....

Elle est pas tout à fait juste:
- J'ai un bug en 2000: décalage d'une semaine, pas trouvé pk

Voici comment ca fonctionne:
1) On teste la validité de semaine
2) Tableau des jours
3) Année bissextile?
4) Premier jours de l'an (si lundi: 0, mardi: 1, mercredi: 2, ... dimanche: 7)
5) n° du jour du lundi du début de la semaine $semaine (!!!)
6) On regarde quel mois ca tombre
7) On prépare les retours

Paramètres:
$from: début de la semaine
$to: fin de la semaine
--> jj/mm/aaaa

Ces 2 variables sont passées par référence

Exemple d'appel:

$from = '';
$to = '';

semaine(25, 2002, $from, $to);
echo '<br>from: ' . $from;
echo '<br>to: ' . $to;


Le code, enfin:

function semaine($semaine, $an, &$from, &$to)
{
if($semaine > 55 || $semaine < 1)
return;

// tableau de jours
$jours = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if(($an % 4 == 0 && $an % 100 != 0) || $an % 400 == 0)
$jours[1] = 29;

// premier jour de l'an $an
$first = date('D', mktime(0, 0, 0, 1, 1, $an));
switch($first)
{
case 'Mon':
$first = 0;
break;

case 'Tue':
$first = 1;
break;

case 'Wed':
$first = 2;
break;

case 'Thu':
$first = 3;
break;

case 'Fri':
$first = 4;
break;

case 'Sat':
$first = 5;
break;

case 'Sun':
$first = 6;
break;
}

if($semaine == 1)
{
$from = '01/01/' . $an;
$to = '0' . (7 - $first) . '/01/' . $an;
return;
}

// n° du jour (pour le lundi de le semaine $semaine)
$nb_jours = (($semaine - 1) * 7) + 1 - $first;

// mois
$i = 0;
while($nb_jours > $jours[$i])
$nb_jours -= $jours[$i++];

// sortie
$from = ($nb_jours < 10 ? '0' . $nb_jours : $nb_jours) . '/' . ( ($i + 1) < 10 ? '0' . ($i + 1) : ($i + 1) ) . '/' . $an;

if(($nb_jours + 6) > 31)
$to = '31/12/' . $an;
else
$to = ( ($nb_jours + 6) < 10 ? '0' . ($nb_jours + 6) : ($nb_jours + 6) ) . '/' . ( ($i + 1) < 10 ? '0' . ($i + 1) : ($i + 1) ) . '/' . $an;
}


Juste pour info: C'est du bénévolat, je garantit absolument pas son fonctionnement... J'ai fais quelques tests et ca marche mais pour la suite, je n'ai pas de comptes à rendre...

Si tu as des questions, hésites pas.

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
samedi 17 juillet 2004 à 13:11:48 | Re : Fonction php date

coockiesch

Une petite modif:
Remplace

if($semaine == 1)
{
$from = '01/01/' . $an;
$to = '0' . (7 - $first) . '/01/' . $an;
return;
}

Par

if($semaine == 1)
{
if($first != 1)
$from = (32 - $first) . '/12/' . ($an - 1);
else
$from = '01/01/' . $an;

$to = '0' . (7 - $first) . '/01/' . $an;
return;
}


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
lundi 19 juillet 2004 à 07:16:23 | Re : Fonction php date

Niníel

Hello!

Merci beuacoup pour ton code coockiesch. Avec ça, je voie déjà mieux comment faire ma fonction.

@++

Niníel
jeudi 19 mai 2005 à 11:02:01 | Re : Fonction php date

casal

Salut je viens de tomber sur ton code qui m'aide bien par contre il y a quelques erreurs :

1- Cas de la semaine 1:
remplace
        if($semaine == 1)
        {
            if($first != 1)
                $from = (32 - $first) . '/12/' . ($an - 1);
            else
                $from = '01/01/' . $an;

            $to = '0' . (7 - $first) . '/01/' . $an;
            return;
        }


Par
        if($semaine == 1)
        {
            if($first !=0)    {       
                $from = $an.'-01-0'.(8 - $first);
                $to = $an.'-01-0'.(14 - $first);
            } else {
                $from = $an.'-01-01';
                $to = $an.'-01-07';
            }           
            return;
        }

2- Cas du n° du jour:
remplace
   
// n° du jour (pour le lundi de le semaine $semaine)
    $nb_jours = (($semaine - 1) * 7) + 1 - $first;

par
    // n° du jour (pour le lundi de le semaine $semaine)
    $nb_jours = ($semaine * 7) + 1 - $first;

3- Cas du changement de mois pour le $to
remplace
    if(($nb_jours + 6) > 31)
        $to = '31/12/' . $an;
    else
        $to = ( ($nb_jours + 6) < 10 ? '0' . ($nb_jours + 6) : ($nb_jours +6) ) . '/' . ( ($i + 1) < 10 ? '0' . ($i + 1) : ($i + 1) ) . '/' .$an;


par
    if(($nb_jours + 6) > $jours[$i]) {
            if ($i == 11) {
                $to =  '
0' . ($nb_jours + 6 - 31) . '/01/' . ($an + 1);
            } else {
                $to =
'0' . ($nb_jours + 6 - $jours[$i]) . '/' . ( ($i + 2) < 10 ? '0' . ($i + 2) : ($i + 2) ) . '/' . $an;
            }
    } else           

           
$to = ( ($nb_jours + 6) < 10 ? '0' . ($nb_jours + 6) : ($nb_jours +6) ) . '/' . ( ($i + 1) < 10 ? '0' . ($i + 1) : ($i + 1) ) . '/' .$an;

A+ Casal


Cette discussion est classée dans : fonction, date, php, partir, numéro


Répondre à ce message

Sujets en rapport avec ce message

date et nombre de semaine en php [ par gege84 ] je cherche un code source permettant à partir de la date courante de connaître le numéro de la semaine à partir du début de l'année.merci d'avance geg Appel de fonction dans une DLL à partir de PHP [ par masca ] Comment appeler une fonction dans une DLL à partir de PHP. Merci à tous. Pb avec la fonction date() [ par hasen ] Bonjour, bonjour. Y'a un petit truc qui me chagrine : je veux recuperer la date du jour dans mon code php, alors j'utilise la ligne date("d-m-y") afin Souci avec la fonction system() [ par bobybx ] Bonjour,j'ai un souci avec un code php que je n'arrive pas à modifier.Je m'explique :J'utilise la fonction system de php dans un de mes scripts pour u bouton actualiser en php (regénération de numéro "incrémentiel") [ par peanut38 ] Bonjour,Voici mes variables : $annee = date("Y"); $mois = date("m"); $heure = date("H"); $minute = date("i"); $seconde = date("s"); $texte0 = "DS".$mo 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 comment transcrire une fonction php en javascript [ par Ally_Mc_Beal ] Bonsoir, Voilà j'ai créé une fonction php qui vérifie que le numéro de compte entré dans mon input texte. Seulement je ne sais pas l'appeler. D'après Fonction date() et décalage horaire [ par pouchteck ] Bonjour, Je suis en train de programmer une partie commentaires en PHP pour mon site, et je voudrais afficher la date et l'heure de post, avec la fonc problème PHP ORACLE (DATETIME) [ par 7amdolah ] Bonjour, Voila j'ai un problème je vous explique je travail sur un projet PHP est comme base donnée oracle. Sur ma base j'ai une table avec une colonn Fonction décode texte dans fichier PHP [ par BBFUNK01 ] Bonjour à toutes et tous, j'utilise pour mon formulaire e-mail en flash ce script php : [code=php]<?php #############################################


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 1,186 sec (4)

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