Connaitre une date

Résolu
Utilisateur anonyme - 4 mai 2007 à 09:52
frisnel01 Messages postés 7 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 25 mai 2011 - 2 déc. 2010 à 02:07
bonjour.

Je connais les dates de début et les date de fin de deux projets différents par exemple

Comment puis je faire pour trouver les dates comunes aux 2 projets.

PS:toutes les données temporelles (dates...) sont stockées dans une base My Sql.

Merci<!-- / message --><!-- sig -->

7 réponses

cs__Syl_ Messages postés 66 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 février 2008 2
4 mai 2007 à 14:50
Sinon, pour que ca soit moins lourd tu peux travailler sur la durée commune :

            DateTime dateDebutProjetA = new DateTime(2007, 1, 1);
            DateTime dateFinDuProjetA = new DateTime(2007, 1, 10);
            DateTime dateDebutProjetB = new DateTime(2007, 1, 3);
            DateTime dateFinDuProjetB = new DateTime(2007, 1, 17);
            DateTime dateDebutDureeCommune = new DateTime();
            DateTime dateFinDureeCommune = new DateTime();

            TimeSpan differenceEntreLesDebuts = dateDebutProjetB - dateDebutProjetA;
            TimeSpan differenceEntreLesFins = dateFinDuProjetB - dateFinDuProjetA;

            int dureeEntreDebuts = differenceEntreLesDebuts.Days;
            int dureeEntreFins = differenceEntreLesFins.Days;

            if (differenceEntreLesDebuts > 0)
            {
                dateDebutDureeCommune = dateDebutProjetB;
            }
            else
            {
                dateDebutDureeCommune = dateDebutProjetA;
            }
            if (differenceEntreLesFins > 0)
            {
                dateFinDureeCommune = dateFinDuProjetA;
            }
            else
            {
                dateFinDureeCommune = dateFinDuProjetB;
            }

    Ensuite tu reconstruis tes dates avec la logique du post précédent (ProjetX etc)
3
cs__Syl_ Messages postés 66 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 février 2008 2
4 mai 2007 à 14:59
C'est re moi, dans le post précédent c'est pas
if (differenceEntreLesDebuts > 0)   et   if (differenceEntreLesFins > 0)
           

mais

if (dureeEntreDebuts > 0)   et   if (dureeEntreFins > 0)

et pour la reconstruction :

            ArrayList datesCommunes = new ArrayList();
            TimeSpan dureeDatesCommunes = dateFinDureeCommune - dateDebutDureeCommune;
            int dureeEnJour = dureeDatesCommunes.Days + 1;
            for (int d = 0; d < dureeEnJour; d++)
            {
                datesCommunes.Add(dateDebutDureeCommune.AddDays(d));
               
            }
           

Ca devrait le faire, amuse-toi bien !
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
4 mai 2007 à 10:23
Hello,

Qu'entends-tu par "trouver les dates comunes aux 2 projets" ? Un peu plus de précision à ce sujet pourrait nous aider à t'aider !

Amicalement, SharpMao
0
Utilisateur anonyme
4 mai 2007 à 10:31
Alors c'est à dire : j'ai mon projet A qui commence le 01/01/2007 et qui ce termine le 10/01/2007 et mon projet B qui comme le 08/01/2007 et ce termine le 12/01/2007.


J'aimerais savoir comment je peux trouver les dates commune au 2 projets donc le 08/01,09/01 et le 10/01 mais je faire cela de manière générique pour des dates quelquonques.


A noter que je ne connait que les dates de début et de fin des projets ainsi que leur durée. 

Merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs__Syl_ Messages postés 66 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 février 2008 2
4 mai 2007 à 14:30
Bonjour,
Tu peux t'amuser à le faire en c# en créant deux listes de dates et une fonction qui pour chaque élément de l'une compare la valeur (la date donc) avec tous les éléments de l'autre et renvoie la date commune quand le test est ok
un truc du genre
ArrayList datesProjetA (que tu remplis avec les dates du projet A)
ArrayList datesProjetB (que tu remplis avec les dates du projet B)

tu peux les remplir comme ca :
            ArrayList datesProjetX = new ArrayList();
            DateTime dateDebutProjetX=new DateTime(2007,1,1);
            DateTime dateFinDuProjetX = new DateTime(2007, 1, 10);
            TimeSpan dureeProjetX = dateFinDuProjetX - dateDebutProjetX;
// le plus 1 c'est si le dernier jour est inclus dans le projet
            int dureeEnJour = dureeProjetX.Days+1;
            for (int d = 0; d < dureeEnJour; d++)
            {
                datesProjetX.Add(dateDebutProjetX.AddDays(d));
            }

et une fonction du style
private ArrayList TrouveDatesCommunes (ArrayList datesProjetA, ArrayList datesProjetB)
{
ArrayList datesCommunes = new ArrayList();
            for (int i = 0; i < datesProjetA.Count; i++)
            {
                for (int j = 0; j < datesProjetB.Count; j++)
                {
                    if (datesProjetA[i] == datesProjetB[j])
                    {
                        datesCommunes.Add(datesProjetA[i]);
                        j=datesProjetB.Count;
                    }
                }
            }
    return datesCommunes;
}
C'est très lourd, mais ca devrait marcher
Plusieurs variantes possible, c'est pour donner une idée.
0
Utilisateur anonyme
4 mai 2007 à 15:08
Merci beaucoup _syl_ ca marche, c'est nickel!!
0
frisnel01 Messages postés 7 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 25 mai 2011
2 déc. 2010 à 02:07
Frisnel Sevrain,Etudiant en informatique
0
Rejoignez-nous