TryParse pour une semaine de l'année

Résolu
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 24 juil. 2008 à 09:26
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 28 juil. 2008 à 22:06
bonjour,

Je dois vérifier qu'une saisie est conforme. Cette saisie doit avoir la forme : Année + semaine (ex : 200830 pour cette semaine). J'ai essayé de faire un DateTime.tryParse mais je ne trouve pas de format qui corresponde (ex YYYYWW). Comment puis je vérifier que la saisie est correcte ? merci

DT

5 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 juil. 2008 à 15:57
Salut,

Directement avec TryParse/TryParseExact je ne crois pas (il ne me semble pas que les numéros de semaines soient gérés, surtout avec les différentes méthodes de calcul qui existent).
En revanche tu pourras peut être te servir de Calendar.GetWeekOfYear pour effectuer ta vérification.

/*
coq
MVP Visual C#
CoqBlog
*/
3
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
24 juil. 2008 à 09:44
Essaye du coté des expressions régulières.
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
24 juil. 2008 à 09:52
mouaip... ou tout simplement :

string weekOfYear = "200830";
int year;
int week;
bool formatOK = false;

if (!Int32.TryParse(weekOfYear.SubString(0,4), out year)) {
   year = -1;
}

if (!Int32.TryParse(weekOfYear.SubString(4,2), out week)) {
   week = -1;
}

if (week > 0 && week <= 53) { // certaines années ont 53 semaines !
   formatOK = true;
}

...

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
24 juil. 2008 à 10:00
Justement, je veux interdire une saisie du style 200875 mais aussi interdire la saisie de la semaine 53 pour les années qui n'en n'ont pas. Il n'y  a aucun moyen de vérifier cela avec un DateTime.TryParseExact ?
DT
0

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

Posez votre question
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
28 juil. 2008 à 22:06
t'as façon de voir les choses me plaît bien ....(dommage que ms n'ait pas pensé à géré les semaine...)

merci

DT
0
Rejoignez-nous