TryParse pour une semaine de l'année [Résolu]

Signaler
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
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
A voir également:

5 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
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
*/
Messages postés
721
Date d'inscription
dimanche 10 juin 2001
Statut
Membre
Dernière intervention
27 mars 2011
7
Essaye du coté des expressions régulières.
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
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]
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

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
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

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