IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Différence entre dates au format "Year Month Day"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut Différence entre dates au format "Year Month Day"
    Hello,

    je dois poser une question qui est certainement déja apparue, mais je suis pas tombé explicitement dessus.

    En gros, j'ai deux dates, j'aimerais connaitre le temps qui les sépare, jusque la, rien de bien compliqué, je les soustrais et j'obtiens un TimeSpan en nombre de jours.

    Juste pour avoir un approximatif, j'ai obtenu les nombre d'années en divsant par 365, le nombre de mois par 30 et le nombre de jour le reste, mais j'ai besoin de quelque chose de plus précis.

    Les seuls éléments que j'ai trouvé sur sont que l'unité maximum de timespan est le jours parce que en mois ou en année ça dépend de certains facteurs et c'est plus compliqué...

    D'ou ma question, est-ce qu'une solution existe ou alors l'équipe .NET a un peu fait sa fainéante là-dessus?

  2. #2
    Membre éclairé Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Par défaut
    Salut,

    A partir de ton nombre de jours dans TimeSpan, quelle date veux-tu utiliser pour y ajouter le nombre de jours? Aujourd'hui, 01.01.0001, ... ? Cela a de l'importance pour le nombre de jours de chaque mois, année bissextiles, ...

    Regarde ceci, ca peut t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
      class Program
      {
        static void Main(string[] args)
        {
          TimeSpan t = new TimeSpan(400, 25, 35, 35, 3);
          DateTime now = DateTime.Now;
          DateTime a = new DateTime();
     
          Console.WriteLine(now.ToString());
          Console.WriteLine(a.ToString());
          Console.WriteLine(now.Add(t).ToString());
          Console.WriteLine(a.Add(t).ToString());
     
          Console.ReadKey();
        }
      }
    Sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    08.05.2008 10:15:08
    01.01.0001 00:00:00
    13.06.2009 11:50:43
    06.02.0002 01:35:35

  3. #3
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut
    mon calcul serait du genre:

    2 ans - (now - hier)

    j'essaie de comprendre par ton exemple mais si par hasard tu passes par la et que tu as une solution...

    merci en tout cas

    [Edit]
    Voila ou j'en suis:
    Le calcul en dessus me retourne un TimeSpan. J'ajoute ce timespan a la date actuelle et je tombe sur ma "date limite" - ce que je n'avais pas encore avant ton ptit bout de code. Ce que j'aimerais pouvoir faire maintenant, c'est savoir le nombre d'années, de mois et de jours qui séparent la date d'aujourd'hui et cette date limite, je dois le faire à la main ou y'a t'il plus simple?

  4. #4
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut
    pour ceux que ca interesse, j'ai trouvé une solution ici:
    http://forums.microsoft.com/MSDN/Sho...58533&SiteID=1

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    Peux-tu s'il te plait, donner la solution que tu as utilisé ?

    Parce qu'en suivant le lien, je n'ai pas vu la réponse à la question :s

    Merci

  6. #6
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut
    Ce thread datant d'il y a pas mal de temps, je vais peut etre pas répondre pile poil c'qu'il te faut, excuse moi d'avance si ma réponse est à coté de la plaque.

    Le moyen ne pourrait-il pas etre de créer un nouveau DateTime avec comme argument le TimeSpan resultant de la différence entre les deux dates initiales?

    ex:
    DateTime a = ...;
    DateTime b = ...;

    TimeSpan diff = DateDiff(a,b);
    DateTime result = new DateTime(diff);

    Ce qui permettrait d'accéder aux membres year, month day, etc. de result?

    (vraiment c'est un essai pour répondre rapidement, si ca fonctionne pas, dis le et je regarderai demain)

    Bonne soirée!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre Date et Date()
    Par Gabout dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/04/2007, 16h32
  2. Réponses: 8
    Dernier message: 07/03/2007, 08h34
  3. [Date] Comment déclarer une variable de la forme (year-month-day)?
    Par adil_vpb dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 06/03/2007, 13h51
  4. calcul différence entre dates
    Par igour dans le forum Access
    Réponses: 2
    Dernier message: 18/01/2007, 11h30
  5. différence entre date ?
    Par jessy212 dans le forum Oracle
    Réponses: 9
    Dernier message: 30/09/2006, 08h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo