Vérifier si une date est égal à un jour [Résolu]

fabian86 31 Messages postés dimanche 6 mai 2007Date d'inscription 5 mai 2012 Dernière intervention - 26 mai 2008 à 01:59 - Dernière réponse : didi2005 46 Messages postés dimanche 27 novembre 2005Date d'inscription 1 juillet 2008 Dernière intervention
- 29 mai 2008 à 00:07
bonjour,

J'ai 2 tables, une première qui m'informe sur les jours de consultation et les heures.elle contient (int id, varchar jour, varchar heure_deb, varchar heure_fin, int id_fk_docteur) et une autre table qui me permet d'enregistrer les rendez vous d'un client pour un docteur(int id, datetime date, varchar heure,int id_fk_docteur,int id_fk_client).

J'aurai voulu savoir s'il y avait une requête pour vérifier si une date est égale à un jour. Sinon une solution qui pourrait convenir.

Si une âme charitable pouvait m'aider
Afficher la suite 

9 réponses

Répondre au sujet
didi2005 46 Messages postés dimanche 27 novembre 2005Date d'inscription 1 juillet 2008 Dernière intervention - 28 mai 2008 à 22:47
+3
Utile
Salut,
Pour ne pas se bloquer on peut envisager une solution temporaire (si vous êtes sur que les espaces sont situés à la fin de la chaine.
Voici un exemple :

            string jour1 = "Mercredi                    "; //Variable venant de la base
            string jour2= dateTimePicker1.Value.ToLongDateString();
            if (j2.StartsWith((j1.Trim()).ToLower()))
            MessageBox.Show("it works");
si je trouve plus du temps je vais te trouvais une solution plus professionnel.
Goog luck

i have a dream
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de didi2005
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 26 mai 2008 à 09:56
0
Utile
c'est la meme question qu'ici ?
http://www.csharpfr.com/infomsg_VERIFIER-SI-ON-EST-JOUR-SEMAINE_1140369.aspx#1

Mx
MVP C# 
Commenter la réponse de MorpionMx
didi2005 46 Messages postés dimanche 27 novembre 2005Date d'inscription 1 juillet 2008 Dernière intervention - 27 mai 2008 à 09:47
0
Utile
Bonjour,

Je ne sais pas est ce que j'ai bien compris votre pb mais voici qlq lignes qui peuvent vous aidez :

string sdate = "26/05/2008";
int jour = 26;
DateTime date = Convert.ToDateTime(sdate);
 if (date.Day == jour)
      MessageBox.Show("Egal");
 else
       MessageBox.Show("Différent");

c'est évident que c'est un exemple trés simple mais vous pouvez vous vous inspirez (par exemple vous affectez à la variable sdate la date que vous voulez et pour la variable jour le jour que vous voulez)

BN : Faites attention au format du date que vous utlisier DD-MM-YYYY ou MM-DD-YYYY.

J'éspère avoir pu t'aider bon courage.

Yesss
Commenter la réponse de didi2005
fabian86 31 Messages postés dimanche 6 mai 2007Date d'inscription 5 mai 2012 Dernière intervention - 27 mai 2008 à 13:41
0
Utile
Merci déjà de votre aide

En fait mon problème est que je reçois un jour de type string en français qui vient de ma DB (ça correspond aux jours de consultation je n'ai donc aucune date)et j'aimerai le comparer avec le jour de la dateTime.Today. Mais la date courante n'a que la propriété dayOfWeek qui correspond aux jours en anglais.

 J'ai essayé cette solution mais ça ne fonctionne pas

les 2 string sont "lundi" et j'ai vérifié en pas à pas

if (string.Compare(monJour, tabJour[0]) == 0 && dateDebut.DayOfWeek == DayOfWeek.Monday)

Si vous avez une solution miracle elle est la bienvenue

merci de votre aide
Commenter la réponse de fabian86
fabian86 31 Messages postés dimanche 6 mai 2007Date d'inscription 5 mai 2012 Dernière intervention - 27 mai 2008 à 16:21
0
Utile
J'ai de plus amples détails à vous fournir

J'ai affiché le nombre retourné par la comparaison de mes 2 string et il me donne 1!
J'ai l'impression que la chaine récupérée de la DB est pas exemple "lundi    "  et tabJour[0] = "lundi"

Si c'est ça le problème comment je pourrais le règler?

merci
Commenter la réponse de fabian86
Liverion 296 Messages postés mardi 22 avril 2008Date d'inscription 18 août 2008 Dernière intervention - 28 mai 2008 à 10:37
0
Utile
Au pire tu peux toujours bidouiller avec un Contains()  (verifier que la chaine recupérée de ta DB contient le jour)

On peut écrire francais sur un clavier allemand , c'est juste plus long !!!
Commenter la réponse de Liverion
fabian86 31 Messages postés dimanche 6 mai 2007Date d'inscription 5 mai 2012 Dernière intervention - 28 mai 2008 à 21:43
0
Utile
et si la chaine venue de la DB contient des espaces à la fin, elle sera considérée plus grande que la chaine sans espace à la fin.
Sinon comment fonctionne la méthode contains()

Merci
Commenter la réponse de fabian86
fabian86 31 Messages postés dimanche 6 mai 2007Date d'inscription 5 mai 2012 Dernière intervention - 29 mai 2008 à 00:01
0
Utile
Merci

ça fonctionne grâce à toi maintenant. J'ai appris une nouvelle petite méthode Trim() très utile dans ce cas

Merci
Commenter la réponse de fabian86
didi2005 46 Messages postés dimanche 27 novembre 2005Date d'inscription 1 juillet 2008 Dernière intervention - 29 mai 2008 à 00:07
0
Utile
De rien,
tu n'as qu'à choisir ma réponse comme "réponse accéptée" pour que les autres sache la solution de votre question.

Merci à toi

i have a dream
Commenter la réponse de didi2005

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.