Llogaritjet mes Data (DateTimePicker - DateDiff)

Sot unë dua të tregoj se si të kryejnë llogaritje ndërmjet datave të rehatshme në Visual Basic. Net duke përdorur funksionin DateDiff.

Nevojë për një formë, button, disa etiketa të dhe një kontroll DateTimePicker siç tregohet në imazhin më poshtë:

dhe në rast click button do kodin e mëposhtëm:

 txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) dhe "vjet"
 txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) dhe "muaj"
 txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 & "javë"
 txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) dhe "dite"

drejtuar kërkesa, kemi zgjedhur një datë të kaluarën dhe të shtypni butonin llogaritur. Rezultati do të jetë i ngjashëm me këtë imazh:

Ky është një shembull shumë të thjeshtë, vetëm shikoni në një kod dhe screenshots dhe unë jam i sigurt që nuk do të ketë dyshime, por në qoftë se ju do të keni ndonjë, vetëm lënë komentin tuaj.

Hope this helps.

18 Responses to "llogaritjet mes Data (DateTimePicker - DateDiff)"

  1. Bitacoras.com thotë:

    Informacione Bitacoras.com ...

    Vlerësoni Bitacoras.com në: Sot unë dua të tregoj se si të kryejnë llogaritje mes datave Në Visual Basic neto duke përdorur funksionin DateDiff.. Nevojë për një formë, button, disa emërtim? Kontrollin S DateTimePicker, sikurse tregohet ne fol ...

  2. Peter thotë:

    Përshëndetje së pari ju falenderoj.

    Unë kam një shqetësim.

    Sot është 29 prill 2009
    Unë kam lindur në shtator të vitit 1980

    sipas
    txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) dhe "vjet"

    Tani kam 29 vjet

    por që nuk është kështu, unë kam 28 për ditëlindjen time kohët e fundit në shtator

    dhe modifikoj kodin

    Thanks again

    • Eliseu thotë:

      Pjetri, Unë ju japë një informacion pak:

      Nëse Interval është vendosur të DateInterval.Year, vlera kthimi llogaritet thjesht nga pjesët vitit të dy datave të caktuara. Në mënyrë të ngjashme, vlera e kthimit për DateInterval.Month llogaritet thjesht nga partitë e vitit dhe muaji i argumenteve.

      Për shembull, kur krahasojmë më 31 dhjetor në 1 janar të vitit të ardhshëm, DateDiff kthen 1 për DateInterval.Year ose DateInterval.Month, por vetëm aq sa ka kaluar një ditë të vetme.

      Në ato raste unë rekomandoj, për shembull, që të përdorni përherë gamë të dhe ndani me DateInterval.Day 365 dhe kështu do të ketë një shifër më të saktë me: 28.65 vjet (për shembull) dhe në qoftë se ju vetëm dëshironi vit ju mund të përdorni int () funksion që do të kthehet vetëm një pjesë e numrit.

  3. Alex thotë:

    Një shembull i mirë! Faleminderit për info

  4. jimmy thotë:

    Hey njerëz të mirë e postave të cilët kanë shërbyer më të vërtetën deri tani po ndihmon me kamera si unë grax.

  5. Ignacio jose thotë:

    Miku juaj shumë e mirë si ju për të vendosur format DateTimePicker DD / MM / YYYY kam marrë nga QA MI simbolit e enjte, maj 12, 1999) dhe me të vërtetë nuk e di se si

    • Eliseu thotë:

      Përshëndetje joseph:

      ju vetëm duhet të ndryshojë kontrollin Formatdel pronësisë, si dhe:

      DateTimePicker1.Format = DateTimePickerFormat.Short

      Fat

  6. John F. thotë:

    Një konsultim është ndoshta shumë e lehtë, por unë mund të ndryshojë mënyrën e shfaqur datën në datetiempicker, për mua duket si: e premte, nëntor 27, 2009, kam nevojë thjesht: 27/11/2009.

    që do të jetë, thanks.

  7. John F. thotë:

    Na vjen keq, koment nuk e kishte parë më parë, e cila i përgjigjet pyetjes time, thanks.

  8. mcinpapr thotë:

    Mirëdita ... Unë kam një problem ... Unë jam duke përdorur dy DateTimePicker në NET 2005 dhe kur kam zgjedhur një datë në DateTimePicker e dytë duhet të marr ndryshimin midis dy datat ... Funksioni është nisur në "ValueChanged" i dytë ... Nëse ju drejtuar atë, por unë gjithmonë zbres një ditë se unë duhet të jap ... për shembull ... Në qoftë se unë të lënë datën e sotme për DateTimePicker para (21/12/2009) dhe të zgjedhur në të dytin nesërmen (22/12 / 2009) kthehet me një vlerë prej 0 ... në qoftë se ju zgjidhni atë në 23 kthimin mua vlera e 1. Funksioni i përdorur është si vijon:

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

    Çdokush e di se çfarë mund të jetë se çfarë ndodh, ju lutem?

  9. Lilimarlet thotë:

    hello, si jeni?
    Unë kam një pyetje atyre, si unë mund të merrni vetëm ditën e të FEHA, shikoni unë kam një textbox ku kam treguar feha "01/01/2009" dhe kam nevojë për një ditë.

    Unë kam këtë

    ditë dim si numër i plotë
    ditë = ditë (tfecha.text)

    Unë nuk sjell asgjë, por të vënë

    Vit Dim Si Integer
    vit = viti (tfecha.text)

    I tregon vit këtu, por kam nevojë për ditë

  10. Carlos h thotë:

    Më falni që kam bërë unë dataTimerPicker debuelva viti-muaji-dita e kockave "yyyy / mm / dd" për të zgjedhur një datë, kam nevojë për një pyetje në MySQL dhe datat në këtë format mban ata ("yyyy / mm / dd" ) .....

    Në qoftë se unë mund të jetë udhëzues agradesco ... Thanks in advance.

  11. Jennifer thotë:

    Thank you very much për informacionin. Kjo ishte një ndihmë e madhe.

  12. Hanner Oviedo thotë:

    Menaxhimi i mirë nuk është VB shumë i mirë dhe unë jam duke punuar në këtë ngjarje, por kam marrë gabim 424 goditi pak kam bërë, unë shpresoj për ndihmën tuaj

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

    Ju faleminderit.

  13. DjMiki thotë:

    Eliseu i mirë Mik, faleminderit për funksionin tuaj ka shërbyer mua, por unë kam një detaj, rezultati jep DateDiff është negative, ndiqni shembullin që ju janë dhënë, por të barabartë, të përpiqet të kalojë atë si string, int, cint, të CStr, dhe asgjë disa ndihmë, ju lutem.

  14. DjMiki thotë:

    Well Eliseu justifikim probleme, por të mirë dhe të zgjidhin problemin tim, por unë mendoj se ju vendosur parametrat e rendit janë anasjelltas, dhe unë do të thotë datën 1 dhe datën 2, dhe pastaj duhet të jetë Date1 Date2.
    Korrigjuar pra, tani duke luftuar me krahasimin e këtij rezultati.

  15. Elkin V thotë:

    Hey shok Thank You Very Useful
    Është shumë e lehtë lol

    Një mbetje nga koha më vonë duke u përpjekur për të gjetur diçka

    A kam hedhur një nder i madh!

Koment