none
Calcul avec variables de type TimeSpan RRS feed

  • Question

  • Bonjour

    Je travaille sur un planning, et j'ai donc besoin de faire des opérations classiques sur les heures définies en type TimeSpan

    Exemple :

    - Nombre d'heure Journalier (TimeSpan) * Nombre de jours Travaillé (Integer)

    - Additionner et soustraire des heures (J'ai trouvé déjà)

    - Convertir un TimeSpan en décimal (Ex 07:30:00 en 7,30)

    - Convertir un Décimal en TimeSpan

    et autres possibilités

    Remerciements,


    Jean PERIGNY, Développeur
    samedi 5 juin 2010 09:19

Réponses

  • Bonjour,

    Représentez toujours vos durées via la classe TimeSpan !

    1/ Pour la multiplication il faut convertir votre TimeSpan en nombre d'heures (propriété TotalHours), faire la multiplication entre ce total et le nombre de jours et ensuite recréer une instance de TimeSpan via TimeSpan.FromHours() :

    Dim ts As TimeSpan
    Dim nbJour As TimeSpan
    
    Dim resultat As TimeSpan
    
    resultat = TimeSpan.FromHours(ts.TotalHours * nbJour)

    2/Utilisez l'opérateur + ou - entre les TimeSpan (ou les méthodes Add et Subtract de TimeSpan)

    3/La conversion de 7:30 en 7,30 est mathématiquement incorrecte. C'est 7,50 ! Pour obtenir ce nombre, utilisez la propriété TotalHours de votre TimeSpan :
    http://msdn.microsoft.com/fr-fr/library/system.timespan.totalhours.aspx

    4/Utilisez la méthode statique TimeSpan.FromHours() : http://msdn.microsoft.com/fr-fr/library/system.timespan.fromhours.aspx

    Cordialement


    Gilles TOURREAU - MVP C# - MCP - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse jperigny dimanche 6 juin 2010 03:13
    samedi 5 juin 2010 18:46
    Modérateur

Toutes les réponses