Calculs entre deux dates (DateTimePicker - DateDiff)

Aujourd'hui, je veux montrer comment effectuer des calculs entre les dates confortables en Visual Basic. Net en utilisant la fonction DateDiff.

Besoin d'un formulaire, bouton, certains l'étiquette et un contrôle DateTimePicker, comme indiqué dans l'image ci-dessous:

et dans le cas clic sur le bouton sera le code suivant:

 txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "années"
 txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) & "mois"
 txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 & "semaines"
 txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) & "jours"

exécuter l'application, nous avons choisi une date antérieure et appuyez sur le bouton de calcul. Le résultat sera semblable à cette image:

Il s'agit d'un exemple très simple, il suffit de regarder un peu de code et de captures d'écran et je suis sûr que vous n'aurez pas des doutes, mais si vous deviez avoir une, il suffit de laisser votre commentaire.

Hope this helps.

18 Responses to "calculs entre les dates (DateTimePicker - DateDiff)"

  1. Informations Bitacoras.com ...

    Taux en Bitacoras.com: Aujourd'hui, je veux montrer comment effectuer des calculs entre les dates en visual basic net en utilisant la fonction DateDiff.. Besoin d'un formulaire, bouton, une étiquette? Contrôle DateTimePicker S, comme indiqué dans le fol ...

  2. Pierre dit:

    Bonjour tout d'abord vous remercier.

    J'ai une préoccupation.

    Aujourd'hui, c'est 29 Avril, 2009
    Je suis né en Septembre 1980

    selon
    txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "années"

    maintenant j'ai 29 ans

    mais ce n'est pas le cas, je n'ai 28 pour mon anniversaire récemment en Septembre

    et modifier le code

    merci encore

    • Elisée dit:

      Peter, je tiens à vous un peu d'information:

      Si l'intervalle est réglé sur DateInterval.Year, la valeur de retour est simplement calculée à partir des parties année des deux dates données. De même, la valeur de retour pour DateInterval.Month est simplement calculée à partir des parties de l'année et le mois des arguments.

      Par exemple, lorsque l'on compare Décembre 31 Janvier to 1 l'an prochain, DateDiff retourne 1 pour DateInterval.Year ou DateInterval.Month, mais seulement autant a passé un seul jour.

      Dans ces cas, je recommande, par exemple, utilisez toujours la gamme et diviser par DateInterval.Day 365 et donc aurait un chiffre plus précis: 28,65 ans (par exemple) et si vous voulez juste l'année vous pouvez utiliser la fonction int () qui retourne une partie seulement du nombre.

  3. Alex dit:

    Un bon exemple! Merci pour l'info

  4. jimmy dit:

    Hey les hommes qui ont servi de poste de bons-moi la vérité à ce jour est d'aider la caméra comme je l'ai grax.

  5. Ignacio José dit:

    votre ami après une très bonne comme vous pour définir le format de DateTimePicker JJ / MM / AAAA-je obtenir par qa MI (jeudi 12 mai 1999) et ne sais vraiment pas comment

    • Elisée dit:

      Bonjour joseph:

      vous avez juste à modifier le contrôle Formatdel propriété ainsi:

      DateTimePicker1.Format = DateTimePickerFormat.Short

      Chance

  6. John F. dit:

    Une consultation est peut-être trop facile, mais je pouvais changer la manière d'afficher la date dans le datetiempicker, me ressemble: Vendredi Novembre 27, 2009, je dois tout simplement: 27/11/2009.

    ce serait, merci.

  7. John F. dit:

    Désolé, le commentaire n'avait pas vu auparavant, ce qui répond à ma question, merci.

  8. mcinpapr dit:

    Bon après-midi ... J'ai un problème ... Je suis l'aide de deux DateTimePicker dans vb.net 2005 et lorsque je sélectionne une date dans le DateTimePicker seconde devrais-je prendre la différence entre deux dates ... La fonction est ouvertes à la «ValueChanged" la seconde ... Si vous l'exécutez, mais j'ai toujours soustraire un jour que je devrais donner ... par exemple ... Si je pars la date d'aujourd'hui à l'DateTimePicker première (21/12/2009) et sélectionné dans la seconde le lendemain (22/12 / 2009) me renvoie une valeur de 0 ... si vous le sélectionner sur 23 me retourne la valeur de 1. La fonction utilisée est la suivante:

    TextBox1.Text = CStr (DateDiff (DateInterval.Day, DTP_ShipDate.Value, DTP_ETA.Value))

    Quelqu'un sait ce que peut être ce qui se passe s'il vous plaît?

  9. Lilimarlet dit:

    bonjour, comment allez-vous?
    J'ai une question entre eux, que je peux obtenir juste le jour de l'FEHA, regardez j'ai une zone de texte où je montre la FEHA "01/01/2009" et j'ai besoin un jour.

    J'ai cette

    jour Dim As Integer
    Jour = (tfecha.text)

    Je ne rien apporter, mais mis

    Année Dim As Integer
    année année = (tfecha.text)

    Je montre ici l'année mais j'ai besoin de la journée

  10. Carlos h dit:

    Excusez-moi que je fais le dataTimerPicker je debuelva année-mois-jour osseuse "aaaa / mm / jj" pour sélectionner une date, j'ai besoin d'une requête dans Mysql et les dates dans ce format les garde ("aaaa / mm / jj" ) .....

    Si je pouvais être le guide agradesco ... Merci d'avance.

    • gagugu dit:

      vB ps si il ya la fonction et le format une utilisation personnalisée, et CustomFormat yyy / MM / jj

  11. Jennifer dit:

    Merci beaucoup pour l'information. Il était d'une grande aide.

  12. hanner Oviedo dit:

    Une bonne gestion n'est pas très bon VB et je travaille cet événement, mais j'obtiens l'erreur 424 a frappé le peu que j'ai fait, j'espère que votre aide

    Range ("I10") = DateDiff (DateInterval.Month, TextBox18.Value, Now.Date)

    Merci.

  13. DjMiki dit:

    Elisha Good Friend, merci pour votre fonction m'a servi, mais j'ai un détail, le résultat me donne la fonction DateDiff est un négatif, suivre l'exemple que vous donnez, mais égale, essayer de le passer en tant que chaîne, int, cint, cstr, et rien un peu d'aide s'il vous plaît.

  14. DjMiki dit:

    Eh bien Elisha excuser la peine mais bon et résoudre mon problème, mais je pense que vous avez placé les paramètres d'ordre sont dans l'autre sens, et je veux dire la date 1 et date 2, puis devrait être Date1 Date2.
    Eh bien corrigé, désormais aux prises avec la comparaison de ce résultat.

  15. Elkin V dit:

    Hey ami Merci Très utile
    C'est très facile lol

    Un vestige de temps plus tard en essayant de trouver quelque chose de

    Dois-je jeter une grande faveur!

Commenter