Utilisateur anonyme
-
4 mai 2007 à 09:52
frisnel01
Messages postés7Date d'inscriptionmercredi 18 juillet 2007StatutMembreDernière intervention25 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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs__Syl_
Messages postés66Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention25 février 20082 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.