begin process at 2012 02 08 21:15:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Maths

 > 

problème de logique


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

problème de logique

jeudi 3 mai 2007 à 13:01:15 | problème de logique

Cyriusix

Bonjour à tous,

Je suis en train de m'arracher les cheveux sur la réalisation d'une méthode qui doit aller chercher des infos situés entre des dates heure.

Donc pour ce faire, je fais un test qui test la date:
if ((iJour >= 22 && iMois >= 12 && iAnnee >= 2006) && (iJour <= 23 && iMois <= 12 && iAnnee <= 2006))

et à l'interieur de ce test, il devrait y en avoir un autre pour tester les heures.. mais mon problème est qu si l'heure de début est plus grande que l'heure de fin, ca ne doit être valide que si la date de début est plus petite que la date de fin. (je sais pas si je suis clair)

Une idée??

Et y aurait-il une manière plus propre de réaliser cela en utilisant une valeur dateTime, afin que je n'aie pas besoin de séparer iJour,iMois,iAnnee et iHeure,iMinute en sachant que c'est un utilisateur qui devra rentrer les dates et heures qui seront employé?

Merci bien.
jeudi 3 mai 2007 à 13:06:48 | Re : problème de logique

leprov

si tu as juste un probleme de saisie, deja utilise un datetimepicker. Ca te permet davoir en entrée un datetime valide correctement formaté, et saisi de manière plus agréable que des textbox (ou autres). Deuxiemement, vu que tu auras un datetime, tu pourras comparer tout simplement DateTime1.DayOfYear avec DateTime2.DayOfYear et DateTime1.TimeOfDay avec DateTime2.TimeOfDay ce qui t'évite toutes les questions que tu peux avoir a te poser
jeudi 3 mai 2007 à 13:24:08 | Re : problème de logique

Cyriusix

Ca a l'air sympat effectivement.. mais comment l'utilise-t-on? t'aurais pas juste un exemple stp?

Dis moi si j'abuse..

Mais merci déja beaucoup.
jeudi 3 mai 2007 à 14:53:32 | Re : problème de logique

_Syl_

Bonjour, ce que leprov te propose c'est d'ajouter un composant datetimepicker pour la saisie des dates (c'est un composant proposé par visual (qui se présente sous la forme d'un calendrier), comme un label, un bouton, une textbox, etc.)
Si toutefois les dates que tu veux comparer ne sont pas saisies par un utilisateur tu peux instancier des DateTime.

Si tu passes par une saisie rajoute à ta form deux datetimepicker  (dateTimePickerDateDebut,dateTimePickerDateFin)et autant de combobox que nécessaire (4 si tu t'arrêtes aux minutes, 6 si tu t'arrêtes au secondes) :

DateTime DateDeDebut = dateTimePickerDateDebut.Value;

DateTime DateDeFin = dateTimePickerDateFin.Value;

DateTime HeureDeDebut = new DateTime(1, 1, 1, Convert.ToInt32(comboBoxHeureDebut.Text), Convert.ToInt32(comboBoxMinuteDebut.Text), Convert.ToInt32(comboBoxSecondeDebut.Text));

DateTime HeureDeFin = new DateTime(1, 1, 1, Convert.ToInt32(comboBoxHeureFin.Text), Convert.ToInt32(comboBoxMinuteFin.Text), Convert.ToInt32(comboBoxSecondeFin.Text));


if (HeureDeDebut > HeureDeFin && DateDeDebut < DateDeFin)
  {
        //valide
  }
else
 {
        //pas valide
 }  

Si tu ne passes pas par une saisie surcharge le constructeur de DateTime pour créer ta date (ici c'est ce qui est fait pour les heures, en fait les "1,1,1" correspondent à la date 01/01/01, ce qui permet de ne comparer que l'heure ensuite)

Bon courage

_Syl_
jeudi 3 mai 2007 à 14:58:57 | Re : problème de logique

sebmafate

Membre Club Administrateur CodeS-SourceS
et pourquoi ne pas faire tout simplement :

DateTime date1 = new DateTime(2006,12,22,0,0,0);
DateTime date2 = new DateTime(2006,12,23,23,59,59);

DateTime date3 = une date quelconque;

if (date1 <= date3 && date3 <= date2) {
   ... bla bla ...
}




Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]


Cette discussion est classée dans : problème, date, test, heure, ijour


Répondre à ce message

Sujets en rapport avec ce message

Ajout dans un datagrid (C#) [ par maverick546 ] BonjourMon problème: J'ai un datagrid qui contient des personnes, l'heure entrée, l'heure de sortie, nbRappel, etc (pour une journée déterminé). Le pr dateTime [ par Solution ] Bonjour,j'ai un problème avec mysql.J'ai champs de type datetime et lorsque je le récupère en utilisant DateTime datefin = Convert.ToDateTime(d.GetSt Afficher la date et l'heure en TU [ par global1 ] Bonjour, je débute en C# et j'aimerais commencer par simplement un bout de code en C# qui me permettrait d'afficher l'heure en TU sur mon interface u Problème avec 2 Form [ par fredouille312 ] Bonjour à tous,Mon problème est le suivant: Quand je débug tout va bien (le compilateur passe sur toute les lignes) mais au final, il ne se passe rien test de format de date [ par BOUDDINE ] bonjoursvp quelqu'un sait comment tester si une date entrée dans un textbox est valide lors de d'un click sur un boutonmerci Problème de adte [ par emmanuel9 ] Bonjour à tous, J'ai deux datetime Date_debut et Date_finet je voudrais que la période ainsi créer soit cohérante c'est à dire que le dateTime date_de Modifier heure et date du PC [ par hetneo ] Bonjour,Je voudrais savoir si il est possible de modifier l'heure et la date du PC en lancant un programme C# ?Par exemple, on charge un fichier qui c Problème au déploiement d'un site avec une DLL [ par tanginthemiddle ] Bonjour,J'ai fait une petit DLL de test en VB6. Celle-ci renvoie simplement une chaîne de caractère.Mon site ASP.net  fais juste un appel à cette DLL date date est oui problème [ par gretata ] Re_bonjour !! j'ai un problème pour comparer des dates celle du Date LDap [ par Warwick ] Bonsoir,Une petite question, je souhaiterais être en mesure de soustraire une heure à un objet DateTime.J'ai lu qu'il fallait utiliser un autre objet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 5,444 sec (4)

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