3 votes

comment effectuer une validation de l'heure en c# au format HHMMSS

La sortie de ce code sera toujours fausse, même si je passe la date dans le format correct, s'il vous plaît aidez-moi... Ici les 2 paramètres passés sont l'heure et le format, c'est à dire (format "HHMMSS").

    static bool ValidateTime(string time, string format)
    {
        try
        {
            //time = time.Replace(":","");
            System.Globalization.DateTimeFormatInfo tinfo = new System.Globalization.DateTimeFormatInfo();

            tinfo.LongTimePattern = format;

            DateTime dt = DateTime.ParseExact(time, "format", tinfo);
            if (dt.Hour != null)
            {

            }
            return true;
        }
        catch (Exception e)
        {

            return false;
        }
    }

10voto

bniwredyc Points 4682
static bool ValidateTime(string time, string format)
{
    DateTime outTime;
    return DateTime.TryParseExact(time, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out outTime);
}

N'oubliez pas que vous devez utiliser la chaîne de format "HHmmss" pour valider l'heure en 24 heures.

Chaînes de format de date et d'heure personnalisées (MSDN)

2voto

Divi Points 4311

Le code suivant fonctionne. Vous devrez le modifier un peu et ajouter les signatures des méthodes.

string time = "201555";
string format = "HHmmss";
bool ok = false;

try
{
    System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
    DateTime dt = DateTime.ParseExact(time, format, provider);
    if (dt.Hour != null)
    {
        ok = true;
    }
}
catch (Exception e)
{
    //// ok = false; // already setup in initializer above.
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X